目錄如果在同乙個作用域內定義重複的變數名,會發生錯誤:
#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 ...