1:sizeof是一個函數嗎?
2:sizeof與strlen的區別?
3:sizeof(int)(*p)的值是多少?
int a[10];
sizeof(a);//是多少?
sizeof(a[10]);//是多少?
void f(int a[10])
{
cout<<sizeof(a)<<endl;//值是多少?
}
View Code
解答:
1:對于第一個問題,sizeof 不是一個函數,而是一個語言內置的關鍵字,不信你試試sizeof 4與sizeof(int),打印結果均是4,如果是函數,肯定要加上括號,即然沒加括號,那么sizeof是啥呢:),如果還不信,你可以找任何一本C++/C程序語言書查查,sizeof是32個關鍵字中的一個,如果沒有,你就換本書吧:)
即然是關鍵字為什么又要加括號呢?你可以試一下sizeof int 與sizeof(int),第一個會編譯通不過,而第二個確能編譯通過,想想C/C++語言的規定,int前只能加signed.unsigned,auto,const,volative,用來修飾變量的存儲方式,可沒有提到前面可以加sizeof呦,如果前面加sizeof表示是什么存儲方式呢:)
2:sizeof是關鍵字,strlen是一個標準C語言庫函數,用來求取字符串的長度,char *str="abacd",sizeof str與strlen(str),編譯一下,看看結果就知道了:),一個結果是4,一個結果是5,結果為4是因為一個指針占4字節,結果為5是因為串長abacd剛好5個字符,不作解釋
3:sizeof(int)(*p)的值是多少?這個其借助1,已經分析的很詳細了,其實就是取*p的值,對其轉化成int類型的數據,再測量
主站蜘蛛池模板:
措美县|
定州市|
宾阳县|
松桃|
南丹县|
辽阳市|
嘉荫县|
白山市|
武汉市|
开原市|
中西区|
巴林右旗|
高邑县|
汾阳市|
长垣县|
神木县|
岱山县|
盘山县|
香河县|
墨江|
山丹县|
长岛县|
库车县|
乐陵市|
宁德市|
京山县|
河曲县|
靖边县|
扎鲁特旗|
保亭|
永城市|
馆陶县|
阳曲县|
伊吾县|
凤山市|
营口市|
汪清县|
同德县|
开远市|
阳江市|
原平市|