qiezi的学习园地

AS/C/C++/D/Java/JS/Python/Ruby

  C++博客 :: 首页 :: 新随笔 ::  ::  :: 管理 ::
sizeof('a') 在C++里面是1,C里面是4。

C里面字符常量、enum作整数常量对待,所以是sizeof('a')大小是4。

C99标准6.6.6有说明。

int a = 'a'; sizeof(a)大小是1。

另:sizeof(x)用于对类型取大小,对表达式取大小应使用sizeof x;虽然编译器没给你报错。



"aaa"的类型是char[4],"aa"的类型是char[3],这是数组类型,数组类型作为值传递时退化为指针类型,与函数类型相似(注)。

注:void(int)是函数类型,void(*)(int)是函数指针类型,把函数作为值传递时,退化为函数指针类型。




posted on 2006-03-22 13:04 qiezi 阅读(966) 评论(2)  编辑 收藏 引用 所属分类: C++