C語言 sizeof使用

2021-06-09 23:23:15 字數 504 閱讀 9467

筆試題一道

char *a = ;

問:sizeof(a)的大小

分析陣列的含義:

陣列裡面存放的是指向char型的指標,並且初始化這兩個指標,分別讓其指向

兩個字串常量,值得注意的是這兩個字串常量並不在棧中,而是在ro型資料。

所以結果為8!

c++6.0驗證如下:

圖1

圖2如圖1中所示,可以發現陣列中存放的就是兩個位址,分別是0x0041ff6c和0x0041ff8c

其中0x0041ff6c是字串常量hello的首位址,0x0041ff8c是字串常量tclmob的首位址

而0x0041ffxx這片記憶體應該是ro資料段,就是linux中的text段

C語言詳解sizeof

一 sizeof的概念 sizeof是c語言的一種單目操作符,如c語言的其他操作符 等。它並不是函式。sizeof操作符以位元組形式給出了其運算元的儲存大小。運算元可以是乙個表示式或括在括號內的型別名。運算元的儲存大小由運算元的型別決定。二 sizeof的使用方法 1 用於資料型別 sizeof使用...

c語言詳解sizeof

一 sizeof的概念 sizeof是c語言的一種單目操作符,如c語言的其他操作符 等。它並不是函式。sizeof操作符以位元組形式給出了其運算元的儲存大小。運算元可以是乙個表示式或括在括號內的型別名。運算元的儲存大小由運算元的型別決定。二 sizeof的使用方法 1 用於資料型別 sizeof使用...

c語言詳解sizeof

一 sizeof的概念 sizeof是c語言的一種單目操作符,如c語言的其他操作符 等。它並不是函式。sizeof操作符以位元組形式給出了其運算元的儲存大小。運算元可以是乙個表示式或括在括號內的型別名。運算元的儲存大小由運算元的型別決定。二 sizeof的使用方法 1 用於資料型別 sizeof使用...