C 標頭檔案裡宣告的變數如何能讓所有 cpp檔案都可以對它進行修改值,而且修改後值要儲存起來

時間 2021-08-11 17:34:55

1樓:北冰啊

你要明白一點是標頭檔案是在預處理階段被包含到.cpp檔案中的,所以,你宣告的那個變數在1.cpp和2.

cpp編譯之前就已經加到**段裡了。至於你用1.cpp修改那個變數,是在編譯後執行的時候發生的。

所以,那個變數在2.cpp中仍然是預設值

2樓:暗黑系巨龍吟風

你可以試下在標頭檔案裡面定義,然後cpp檔案裡面包含標頭檔案使用

3樓:夢想窗外

這就簡單了,在其中一個.cpp檔案中定義全域性變數,之後在標頭檔案中將該全域性變數宣告為extern,如:

1.cpp

int g_var;

x.hextern int g_var;

接下來,需要用到該全域性變數的.cpp包含x.h標頭檔案就ok了。

4樓:

很簡單:

在1.cpp裡定義此變數:如 int g_var = 0;

在其它用到的.cpp裡宣告為extern就ok了. 如:extern int g_var;

5樓:

應該是你的程式寫的不對~按我寫的操作看下

第一步,寫一個a.h的標頭檔案

**如下:

void fun(int *n);

第二部,寫一個a.cpp的原始檔

**如下:

void fun(int *n)

第三部,寫一個測試原始檔 test.cpp**如下

#include "stdio.h"

#include "a.h"

int n=0;

int main()

編譯執行結果為:

原始n的值是0

處理後的n值是1

6樓:匿名使用者

首先只能在一個cpp檔案中宣告全域性變數,另外最好加個包含宣告變數的標頭檔案,這樣就基本上解決問題了。

比如://---------------------------------------

// 全域性變數valuedef.h中宣告如下:

#ifndef include_g_value

#define include_g_value

extern int g_itest; // 宣告引用全域性變數一

extern int g_dtest; // 宣告引用全域性變數二

#endif

//---------------------------------------

// 定義全域性變數 test.cpp中宣告

int g_itest; // 宣告全域性變數一

int g_dtest; // 宣告全域性變數二

// ......

//---------------------------------------

// 在使用的變數的地方, 新增 #include "valuedef.h"

// 就行了...

7樓:匿名使用者

這個我們以前學的編譯原理中有個程式用到過,它當時的解決辦法是:

在主函式中宣告這一變數

然後在一個全域性變數定義的標頭檔案中再對它宣告,不過這時候宣告是有區別的(防止重複定義) 加上一個關鍵字 extended ……

然後其他cpp檔案中呼叫這一個標頭檔案

當時那個大程式這樣就行了。具體細節我也忘了,你可以試著

在c++中,在檔案中宣告的public的變數,如何做才能使這個變數在cpp檔案一個方法中被賦值

8樓:機甲戰士

extern int a;

在cpp檔案中:

#include"變數a所在標頭檔案名"

int a = 0;...

9樓:匿名使用者

在方法的最後把值給還原,改變的值用別的變數代替

10樓:匿名使用者

呼叫方法的時候,把這個變數按引用傳給方法即可

c語言中的標頭檔案是什麼概念,c語言標頭檔案的是幹什麼用的?

標頭檔案是你程式中需要用到東西,如需要某個數學函式,則必須包括數學相關標頭檔案,如math.h,當然,也可以自己寫函式,只要你不怕麻煩!標頭檔案是你程式中需要用到東西,如需要某個數學函式,則必須包括數學相關標頭檔案,如math.h,當然,也可以自己寫函式,只要你不怕麻煩!標頭檔案就是在你所編制的程式...

c語言寫標頭檔案定義巨集的問題,C語言寫標頭檔案定義巨集的問題

兔子和小強 ifndef a h define a h endif 就是如果沒有定義a h那麼就定義a h,並執行.這樣就避免了重複include的問題。標頭檔案叫file 那麼一般 ifndef file h 這是c的風格,也可以取一個唯一的其他識別符號 預編譯 內的防止重複編譯就是這樣做的,比如...

c語言中標頭檔案的作用,在C語言中,標頭檔案的作用是什麼?

標頭檔案?你是說main 主函式啊 還是 資料庫函式啊?main 必須得!是下例函式要用到的 資料庫 不如你呼叫字串 那麼就得事先開資料庫函式庫 主要是給你程式設計提供方便,提供了一些底層的庫函式,封裝了作業系統上的操作介面 include 設定插入點 include 字元處理 include 定義...