何位大神可以说明下下列简单代码里sizeof(B) 为什么等于4
哪位大神可以说明下下列简单代码里sizeof(B) 为什么等于4?
#include<iostream>
using namespace std;
int main()
{
char A = 'a';
char *B = "a";
cout<<sizeof(A)<<endl;
cout<<sizeof(B);
return 0;
}
//sizeof(A) = 1
//sizeof(B) =4
------解决思路----------------------
32位系统中,所有指针占4个字节。
------解决思路----------------------
这个跟平台有关系, 不是所有的都返回4
------解决思路----------------------
+1
64位linux下gcc4.6.3显示结果为1
------解决思路----------------------
只要理解sizeof() 的正真意思就好理解其返回值了.
http://www.cnblogs.com/chengxin1982/archive/2009/01/13/1374575.html 参考
#include<iostream>
using namespace std;
int main()
{
char A = 'a';
char *B = "a";
cout<<sizeof(A)<<endl;
cout<<sizeof(B);
return 0;
}
//sizeof(A) = 1
//sizeof(B) =4
------解决思路----------------------
32位系统中,所有指针占4个字节。
------解决思路----------------------
这个跟平台有关系, 不是所有的都返回4
------解决思路----------------------
+1
64位linux下gcc4.6.3显示结果为1
------解决思路----------------------
只要理解sizeof() 的正真意思就好理解其返回值了.
http://www.cnblogs.com/chengxin1982/archive/2009/01/13/1374575.html 参考