作者apflake (圣人生而大盗起)
看板Programming
标题Re: [问题] 关於C++的基本问题
时间Fri Oct 12 10:57:52 2007
※ 引述《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