C語言 關於for迴圈裡定義的變數

2022-10-11 09:36:13 字數 528 閱讀 6417

目錄如果在同乙個作用域內定義重複的變數名,會發生錯誤:

#include

int main(void)

int d = 11;//重複定義變數d

printf("d=%d,&d=%p\n",d,&d);

return 0;

}如果是在for外部和for內部定義一樣的變數名,則可以執行:

#include

int main(void)

printf("d=%d,&d=%p\n",d,&d);

return 0;

}外部變數d與內部變數d的位址是不一樣的。且它們的值也不相同,內部的d不會影響改變外部d的值。

還有值得注意的是,for迴圈裡的d每一次的迴圈定義變數d不會報錯,而且每次的位址都是一樣的。

#include

#include

int main()

return 0;

}發現每次迴圈申請的記憶體的位址都不一樣,但是指標變數*d本身的位址是一樣的。

原文位址:

c語言裡,關於巨集定義的使用

巨集定義最關鍵的是要注意它只是乙個文字替換,不注意的話,很容易引起歧義,看下面一段 include define m x x x int main int a,b 3 a m b 2 printf d n a return 0 這裡的 m 是想要得到 x 的平方,而在程式中呼叫的引數為 b 2 原本...

c語言在for迴圈裡插入遞迴 C語言for迴圈

寫法格式 for 表示式1 表示式2 表示式3 它的執行過程為 1 先執行 表示式1 2 再執行 表示式2 如果它的值為真 非0 則執行迴圈體,否則結束迴圈。3 執行完迴圈體後再執行 表示式3 4 重複執行步驟 2 和 3 直到 表示式2 的值為假,就結束迴圈。上面的步驟中,2 和 3 是一次迴圈,...

C語言變參函式巨集定義分析

在c語言變參函式中總是會用到下面幾個巨集 0 define adnbnd sizeof acpi native int 1 1 define bnd x,bnd sizeof x bnd bnd 2 define va arg ap,t t ap bnd t,aupbnd bnd t,adnbnd ...