70 extern的用法二和靜態外部變數

2022-09-20 05:15:11 字數 506 閱讀 8180

新建工作區  新增到當前的工作空間 ww

新建檔案 c++ source file

1.cpp

int a =10;

static int b =100;//static修飾的全域性變數稱作 靜態外部變數,其他檔案不可以通過它的變數名來引用他

int *p = &b;

2.cpp

#include

extern int a;//extern 可以將全域性變數的作用域擴充套件到其他檔案①在不同的檔案中不可以有重名的 非靜態的全域性變數②編譯時遇到extern先在本檔案中尋找其變數的定義,沒找到會在連線的時候從其他檔案中尋找其變數的定義

//extern int b;

extern int *p;

int main (void)

static int a = 14;//可以嘗試注釋掉此句 對比輸出結果

3.cpp

//int a = 99; error因為1.cpp中已經有了乙個名字為a的非靜態的全域性變數

extern的幾種用法

一般來說,extern關鍵字用於三種場合 1 用於標頭檔案預編譯時對於c語言編譯的宣告,如常見的 ifndef shader h define shader h ifdef cplusplus extern c endif endif 一般這種情況是表示在c 中引用c語言中的函式和變數,如果 c 呼...

C 中extern 的用法

前段時間看了extern 的用法,今天試了一下出現了如下問題,我在乙個標頭檔案1中定義了全域性常量,然後在標頭檔案2中定義了同樣的全域性變數,然後把兩個標頭檔案包含在另外乙個cpp裡面出現了了重新定義的錯誤,去掉頭檔案2中的全域性定義,undeclared identifier 的錯誤。最後把2中的...

extern和const的用法

extern的用法 1.extern修飾變數 1.1 同乙個變數被多個檔案共享時,就要注意申明為extern int a 形式,在xx.h檔案中先宣告為extern int a 後在相應的.cpp檔案中定義注意還是extern int a 200 其他檔案若要引用該變數,就可以在其.cpp檔案中包含...