注册 登录
编程论坛 C++教室

有人能帮忙解释一下为什么结果是这样的么

heyyroup 发布于 2008-09-22 16:21, 671 次点击
char  str[] = "Hello";
char   *p = str ;
 int     n = 10;
cout << sizeof(str)<<endl;
cout<<sizeof(p)<<endl;
cout<<sizeof(n)<<endl;

为什么输出的结果是6,4,4,除了第一个有点眉目外,其他的我自己解释不了。谁能帮忙解释一下
2 回复
#2
一眼的笑意2008-09-22 17:17
你用cout<<p<<endl;看看
其实p与n在本质上是一样的,都是整形变量,占四个字节
#3
heyyroup2008-09-22 17:48
你的意思是p只是一个地址。在计算机表示时是一个整数。所以也是占4个字节?似乎有点明白,我debug一下
1