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