在C語言中什麼情況下變數的值會發生改變

2021-05-19 19:39:29 字數 699 閱讀 3197

1樓:無聲的硝煙

既然是變數,就都可能會變。你讓它作加減乘除,當然就會變了。

你是想問變數的域嗎?

函式體(包括main函式)中定義的變數的有效期一般只在函式中有效,也會在函式每次被呼叫時臨時分配空間作為變數。函式結束後,變數對應的空間會被釋放(雖然有些編譯器不管這些,仍然能夠通過指標訪問到原資料,但是這是不安全的)。而static型別的變數只在函式第一次被呼叫時初始化,之後的呼叫將不再會初始化該變數

關於實參與形參:

c語言傳遞引數時,基本型別變數傳遞的僅僅是值,對應主函式體中的記憶體是不會被呼叫的函式直接訪問的。(指標那裡的swap那個例子很說明問題)。比如主函式裡面定義了一個a,呼叫的函式引數裡面有個a,然後主函式「把a傳進」呼叫的函式中——這種理解是錯誤的,應該是將a的值傳遞到呼叫函式私有的一個變數a中(也就是有兩個a)。

還有不懂的再問吧

2樓:匿名使用者

通過變數名給變數賦值,如: int a;  a=5;

通過指向該變數的指標,給指標所指向的資料進行賦值。

如:int a, *pa=&a;  *pa=5;

和2本質上是一樣的,那就是通過指標,對該變數所佔用的儲存單元賦值。

如: int  b[3],  a, *pb=b+3;  *pb=5;  // 這裡似乎pb並沒有指向a,但b+3實際上已經是a的地址了。緩衝區溢位也就是這種情況。

什麼情況下你會毫不猶豫的辭職,在什麼情況下,你會選擇毫不猶豫的辭職呢?

如果你本身具備了 段位的實力,而公司只能提供給你青銅的賽局供你發揮,我認為就應該辭職了,即便是在青銅賽局裡每把都贏,也會阻礙自己成長,阻礙自己成長至鉑金乃至更高的成績。成熟的職場人一般會拒絕裸辭,也不會發生巨大的職場衝突,所有的毫不猶豫都是在充分考慮和充足準備的基礎上。我毫不猶豫地辭職是在上一家企業...

協議在什麼情況下會失效

根據合同法等相關法律規定,以下情況,合同無效 一 一方以欺詐 脅迫的手段訂立的合同,損害國家利益 二 惡意串通,損害國家 集體或第三者利益 三 以合法形式掩蓋非法目的 四 損害社會公共利益 五 違反法律 行政法規的強行性規定。滿意答案靜心若水8級2011 03 231 協議有很多種,不知道所說的是離...

在什麼情況下人會容易生病,人在什麼情況下容易感冒

為什麼在冬天,老人就容易生病?人會容易生病,嗯,在免疫力低下的時候是最容易引起人生病的,還有在你的體質很差的時候。也會容易生病。所以平時我們要多鍛鍊身體,多運動才會提高免疫力,還有平時的生活都要調理得當。葷素搭配。要多注意營養,把身體的體質調上去了,你再加上嗯,平時多鍛鍊就會提高身體的免疫力。也不會...