作者may1212 ()
看板Programming
标题Re: [问题] 关於C++的基本问题
时间Fri Oct 12 12:02:49 2007
※ 引述《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