筆試題一道
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使用...