c語言中區域性變數可以同名麼,c語言問題 區域性變數能不能和全域性變數重名?

2021-03-19 18:37:43 字數 1588 閱讀 5151

1樓:匿名使用者

在c語言中,來相同作用域範源圍的區域性變bai量不可以同名。所以,du在不同作用域下,zhi可以出現區域性變數同dao名的情況。

1 在不同函式中。

函式不同,區域性變數完全無關,自然可以使用相同的名字。

2 在同一函式中,但作用域不同。

區域性變數的作用域是定義位置,到所在大括號結束。

所以只要兩個區域性變數屬於不同的大括號中,就可以同名。

比如void func()

for(;;)

}這裡面,第一個a的作用域包含了第二個和第三個,而後兩個之間作用域不相關。三個a分別屬於三個不同的大括號,可以同名。

2樓:匿名使用者

這個問題,其實舉例子什麼的都說都涵蓋不清楚。可以通俗的這樣說,在同一作用域內變數是不能重名的,原因很簡單,要是重名了,編譯器也不知道你呼叫的是哪個變數了。

3樓:匿名使用者

按你的語意來bai說,答案是不可du以的.

區域性指的就是

zhi一個域,在dao同一個域內變數內是不可以同名的.在vc++2005之前的版容本中.for迴圈的條件名句是限制在for迴圈內的,不過2010後的vc++版本,在for迴圈條件內申請的變數在迴圈個再次申請了報錯,

4樓:匿名使用者

區域性變數在不同的子函式中可以同名,但是在一個子函式中不能。

5樓:匿名使用者

如果你定義的變數不在同一個函式內,好像可以同名的。

6樓:匿名使用者

可以的啊。區域性變數的生存週期就在函式體內或迴圈體內

7樓:匿名使用者

看你同名的區域性變數的作用域了,如果作用域相同那就不可以了

8樓:匿名使用者

可以同名,例如:

在不同的兩個迴圈內:

for(int i=0; i<5; i++)for(int i=0; i<6; i++)

9樓:尼瑪真響亮

作用範圍不同的可以重名

c語言問題 區域性變數能不能和全域性變數重名?

10樓:花落へべ若相惜

可以,只不過區域性變數可以覆蓋全域性的,就是在區域性變數的範圍內全域性變數不起作用

11樓:與子如初見

能,區域性會抄遮蔽全域性

。要用襲全域性變數,需要使用 "::" ;

區域性變數bai

可以與全域性變數同名du

,在函zhi數內引用這個變數時,會用到dao同名的區域性變數,而不會用到全域性變數。對於有些

編譯器而言,在同一個函式內可以定義多個同名的區域性變數,比如在兩個迴圈體內都定義一個同名的區域性變數,而那

個區域性變數的作用域就在那個迴圈體內。

c語言中區域性變數可以同名嗎?

12樓:匿名使用者

可以同名,例如:

在不同的兩個迴圈內:

for(int i=0; i<5; i++)for(int i=0; i<6; i++)

關於c語言字元型,C語言中關於字元型變數。

關於printf c a i 如果把他換成printf s a i 為什麼不能編譯?回答 編譯應該沒問題,只是執行時必定錯誤.字串指一串連續的字元型的儲存域.c語言的字串在操作時一般以0值字元標誌字串的尾字元 佔一個字元的儲存域,但不計入字串長度 c 應該對應於字元型變數 當然字串中的一個字元也可以...

c語言全域性變數的定義,C語言中如何定義全域性變數

在所有函式外部定義的變數稱為全域性變數 global variable 它的作用域預設是整個程式,也就是所有的原始檔,包括 c 和 h 檔案。例如 int a,b 全域性變數 void func1 todo float x,y 全域性變數 int func2 todo int main todo r...

c語言中陣列名是地址變數嗎,c語言中陣列名是一個地址變數嗎

結構體名相當於類名,作用也與類名相近似。也可以將結構體名類比為自定義型別名,等同於int,double,float等,通過結構體名定義變數。在c語言中陣列名是一個什麼的常量 陣列名是代表該陣列的首地址且符合識別符號書寫規定的變數識別符號。整個陣列是以首地址開頭的一塊連續的記憶體單元。如有字元陣列ch...