- 相關推薦
指針運算筆試題
struct Test
{
int Num;
char *pcName;
short sDate;
char cha[2];
short sBa[4];
}*p;
假設p 的值為0x100000,
指針運算筆試題
。如下表表達式的值分別為多少?p + 0x1 = 0x___ ?
(unsigned long)p + 0x1 = 0x___?
(unsigned int*)p + 0x1 = 0x___?
p + 0x1 的值為0x100000+sizof(Test)*0x1,
資料共享平臺
《指針運算筆試題》(http://www.msguai.com)。至于此結構體的大小為20byte,前面的章節(jié)已經詳細講解過。所以p +0x1 的值為:0x100014。(unsigned long)p + 0x1 的值呢?這里涉及到強制轉換,將指針變量p 保存的值強制轉換成無符號的長整型數。任何數值一旦被強制轉換,其類型就改變了。所以這個表達式其實就是一個無符號的長整型數加上另一個整數。所以其值為:0x100001。
(unsigned int*)p + 0x1 的值呢?這里的p 被強制轉換成一個指向無符號整型的指針。所以其值為:0x100000+sizof(unsigned int)*0x1,等于0x100004。
【指針運算筆試題】相關文章:
運算類筆試題05-29
C++筆試題:關于鏈表和指針09-16
360筆試題目06-27
筆美國國家儀器試題目09-23
搜狐產品筆歸分享筆試題目07-05
在C語言中什么是指針和數組等價09-28
JAVA賦值運算10-16
《同級混合運算》說課稿06-28