Re: [問題] 關於C++的基本問題
※ 引述《apflake (聖人生而大盜起)》之銘言:
: ※ 引述《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
恩, 沒錯書上這部份語意不詳, 這樣我應該了解了, 指標變數所佔記憶體長度
為4 Bytes, 指標變數所指向的變數記憶體長度隨變數的資料型態而變, 謝
謝a大.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.248.103.227
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 6 之 12 篇):
Programming 近期熱門文章
PTT數位生活區 即時熱門文章