0
点赞
收藏
分享

微信扫一扫

C/C++ sizeof操作符


以下测试结果均在VS2013环境下做的测试:


#include
<stdio.h>

#include
<stdlib.h>

int
main()

{




char
a =
'0'
;

printf(
"%d\n"
,
sizeof
(
char
));

printf(
"%d\n"
,
sizeof
(a));

printf(
"%d\n"
,
sizeof
(
'0'
));

system(
"pause"
);


return
0;

}


在C中,返回结果为1 1 4


#include
<iostream>


using
namespace
std;


int
main()


{



char
a =
'0'
;


cout <<
sizeof
(
char
) << endl;


cout <<
sizeof
(a) << endl;


cout <<
sizeof
(
'0'
) << endl;


system(
"pause"
);



return
0;


}



在C++中,输出结果为1 1 1

原因如下:


在C99标准中,‘a’叫做整形字符常量,被看做是int型,在32位系统下,是4个字节。


在ISO标准下,‘a’叫做字符字面量,被看做char类型,所以是1个字节。

(没有上传图片(偷个懒),可以自己测试一下)


  

举报

相关推荐

0 条评论