形如:
int a[] = {1,2,3}; int* ptr=a; a=ptr; //報錯
可以得出如下幾個結論:
1、數組名本質上應該是一個指針常量; 數組名傳參時會退化為指針,同類型指針才能直接賦值;
2、 在當前函數中,使用sizeof(a)求數組長度時,編譯器能夠識別到這是一個數組類型,並會按照數組類型及長度計算其實際所占的內存空間;
形如:
int a[] = {1,2,3}; int* ptr=a; a=ptr; //報錯
可以得出如下幾個結論:
1、數組名本質上應該是一個指針常量; 數組名傳參時會退化為指針,同類型指針才能直接賦值;
2、 在當前函數中,使用sizeof(a)求數組長度時,編譯器能夠識別到這是一個數組類型,並會按照數組類型及長度計算其實際所占的內存空間;
本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。