C extern定義多檔案共享全域性變數

2021-10-07 04:44:17 字數 915 閱讀 7169

我覺得題主需要的回答是「把變數定義在函式外面」,比如這樣:

#include

#include

std::string msg;

//這個就叫全域性變數

intmain()

不過呢,這麼做以後你會逐漸逐漸遇到各種問題,比如說多個.cpp檔案都要用到同乙個全域性變數咋辦?

你需要做的是在乙個.cpp裡定義這個變數,然後在標頭檔案裡extern這個變數。問題解決。

標頭檔案裡寫:extern std::string msg;

某乙個.cpp檔案裡寫:std::string msg;

所有引用了這個標頭檔案的cpp檔案裡就都可以使用msg這個全域性變數了。

state.h:

#ifndef state_h

#define state_h

const

int max =

200;

extern

int num;

extern

int array[max]

;#endif

state.cpp:

#include

"state.h"

int num =0;

int array[max]

;//即使不賦值,也需要在此定義

class1.cpp:

extern

int num;

extern

int array[max]

;num++

;array[0]

=1;

android多apk共享私有檔案

android給每個apk程序分配乙個單獨的使用者空間,其manifest中的userid就是對應乙個linux使用者 android 系統是基於linux 的.所以不同apk 使用者 間互相訪問資料預設是禁止的.但是它也提供了2種apk間共享資料的形式 1.share preference.con...

python多模組檔案共享變數

有多個檔案,在任意乙個檔案中修改,在其他檔案中訪問的都是修改之後的值 1 用乙個檔案儲存變數 這個思路沒問題,但在乙個檔案中修改後,在另乙個檔案中訪問時還是原來的內容。定義檔案a.py x 0b.py import a a.x 10 執行該檔案c.py import a print a.x 執行結果...

C C 多檔案之間的變數定義

3種鏈結屬性 外部 external 內部 internal 無設定 none 外部 external 使用extern關鍵字 內部 internal 使用static關鍵字 如果在不同的檔案中定義相同名字的變數,編譯器無法通過編譯 使用extern可以訪問其他檔案中定義的變數 使用static標示...