c extern關鍵字的使用

2022-09-14 16:48:22 字數 640 閱讀 1896

作用:宣告外部符號(使用其他檔案的全域性變數)

原始檔:

test.c

#include extern int  year;//使用extern關鍵字從add.c原始檔中宣告外部符號的全域性變數

int main()

add.c

int year = 2022;//宣告全域性變數
static修飾全域性變數,使得這個全域性變數只能在自己所在的原始檔(.c)內部才可以使用,其他原始檔不能使用

全域性變數能過被其他原始檔內部使用,是因為全域性變數具有外部鏈結屬性

但是被static關鍵字修飾後,就變成了內部鏈結屬性,其他原始檔就不能鏈結到這個靜態的全域性變數

函式也是一樣的情況

add.c

static int year = 2022;//宣告全域性變數
test.c(執行報錯)

#include extern int  year;//使用extern關鍵字從add.c原始檔中宣告外部符號的全域性變數

int main()

C extern 關鍵字詳解

extern關鍵字的用法有如下幾種 一 引入其它檔案中定義的全域性變數或函式 不能是static修飾的,因為static修飾的變數或函式的作用域只存在於當前檔案 比如 在a.c檔案中定義了乙個全域性變數和函式 int num 5 intfunca 若想在b.c檔案中引用a.c檔案裡的全域性變數與函式...

C extern關鍵字理解

extern是一種 外部宣告 的關鍵字,字面意思就是在此處宣告某種變數或函式,在外部定義。下面的示意圖是我的理解。extern關鍵字的主要作用是擴大變數 函式的作用域,使得其它原始檔和標頭檔案可以復用同樣的變數 函式,也起到類似 分塊儲存 的作用,劃分 如圖所示,在乙個標頭檔案裡做了外部宣告,就能把...

this關鍵字使用

一,表示類中屬性 1,沒有使用this的情況 class person public string getinfo public class thisdemo01 執行結果 姓名 null,年齡 0 可以得出結論 此時並沒有正確將內容賦給屬性 假設身邊有乙隻筆,遠處也有乙隻筆,肯定會就近拿身邊的筆。...