Re: [問題] 關於C++的基本問題
※ 引述《may1212 (郁英)》之銘言:
: 2. 指標變數的記憶體長度
: 我觀念裡是認為指標變數是存放記憶體位址的, 所以長度應該是一樣的,
: 如
: int v1 = 100;
: char c1 = 'P';
: int *p1 = &v1;
: char *p2 = &c1;
: 書上是寫*p1所佔用的記憶體長度為4 Bytes, *p2所佔用的記憶體長度
: 為1 Byte
: 我認為指標變數佔用的記憶體長度, 只要能指到最大記憶體的容量就好,
: 我觀念哪裡錯了.
sizeof( *p2 ) = sizeof( c1 ) = 1
sizeof( p2 ) = sizeof( &c1 ) = 4 ( 32 bit 記憶體模式 )
書沒寫錯, 只是語意不清楚, 讓人誤解. 指標變數指的是 p2 本身,
加上 * , 就表示是p2所指向的變數, 所以 p2 所佔用的記憶體長度
為 4 , *p2 所佔用的記憶體長度為 1
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.123.148.15
討論串 (同標題文章)