关于sizeof正确的理解

       最近在很多地方看到很多人在C语言中把sizeof当成一个函数来理解,包括有10多年C经验的人,我感到十分惊讶。今天给大家纠正一下错误的概念:sizeof是一个操作符,不是函数

sizeof操作符的三种用法:

sizeof(object);//sizeof(对象);

sizeof(type_name);//sizeof(类型);

sizeof object;//sizeof对象;

       比喻说:char q=‘a’;

                    char *p=&q;
                    int N=sizeof * p; 

      这段代码将指针p所指向的q(*p)作为操作数,它返回的是p所指向对象的类型的字节数。

      当sizeof的操作数是类型名时,两边需要加上括号,这使得很多人认为它是一个函数,其实它是操作符!


猜你喜欢

转载自blog.csdn.net/u014069939/article/details/80237087