sizeof 我的一个误区

2011-03-22 01:38

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;
}



付翔 2011-03-21 17:38 发表评论