#defineA50constintB=40;staticintarray[A];//正確staticintarray2[B];//錯誤constintC=2*A;//正確constintD=2*B;//錯誤intmain(){}疑惑const定義常量是不是發(fā)生在編譯時,所以在程序預(yù)處理階段不能對數(shù)組大小進(jìn)行初始化或者對值進(jìn)行初始化,而#define宏發(fā)生在預(yù)處理階段,可以用實(shí)體對數(shù)組大小初始化時出現(xiàn)的宏進(jìn)行宏展開。我這樣理解對嗎望更詳細(xì)的補(bǔ)充
C語言中#define和const疑惑
FFIVE
2019-04-14 11:21:57