Ⅰ c語言中,在同一個函數下局部變數和局部靜態變數可以同名嗎
不可以,同一作用域的變數名不允許相同, 不同作用域下的同名變數起作用的是最後一層。
Ⅱ c語言中函數名是否可以和變數同名
最好別那樣。如果這樣你調用的時候就亂了,系統不知道你調用的是函數還是指針就會報錯,所以盡量不要用系統函數
Ⅲ C語言:各函數內部定義的靜態局部變數可否同名
可以。靜態變數一旦被定義,內存中分配給該變數的空間不會被釋放,虛枯直到掉電。但這和變數名相同與否是兩個概念,變數名只是內存空間的一個名稱或者指示指針而已。如果兩個同名的靜態變數在兩個不同的函數內部被定義,山州內存分配時地址指針並不同,所有不會沖突。函數內部定義的靜態變數在應用時需要注意一個問題:如果該功能函數被兩個獨立的對象同時調用,該靜態變數逗譽蔽是沖突的,此時該靜態變數必須被定義為獨立對象的成員。
Ⅳ c語言中局部變數可以同名么
在C語言中,相同作用域范圍的局部變數不可以同名。所以,在不同作用域下,可以出現局部變數同名的情況。
1 在不同函數中。
函數不同,局部變數完全無關,自然可以使用相同的名字。
2 在同一函數中,但作用域不同。
局部變數的作用域是定義位置,到所在大括弧結束。
所以只要兩個局部變數屬於不同的大括弧中,就可以同名。
比如
voidfunc()
{
inta;
while(1)
{
inta;
}
for(;;)
{
inta;
}
}
這裡面,第一個a的作用域包含了第二個和第三個,而後兩個之間作用域不相關。三個a分別屬於三個不同的大括弧,可以同名。