sizeof 我的一个误区
by 付翔
at 2011-03-21 17:38:00
original http://www.cppblog.com/397993401/archive/2011/03/21/142389.html
# include<stdio.h> int main() { char *p; int a,b,c; printf("%d",sizeof a); printf("%d\n",sizeof (a)); printf("%d\n",sizeof *p); printf("%d\n",sizeof p); printf("%d\n",4 * sizeof *p); /// sizeof 的操作数 是类型名时 必须加上括号 这个让很多人以为sizeof 是个函数 a = -1; if(a > sizeof(10 * sizeof(int ))) // sizeof 是返回 unsigned int 的 当 int 和 unsigned int 遇上 会升级至 unsigned printf("%ud 这个你也会很郁闷\n",a); //-1 就变成一个很大的数 return 0; }