sizeof 的简谈

来源:互联网 发布:java 设置useragent 编辑:程序博客网 时间:2024/05/16 08:00

   sizeof 不是函数,而是被当作关键字使用。

举例:int i=0;

1. sizeof (int)    2.sizeof (i)          3.sizeof  i

      4                         4                     4

函数后必须要有一个();1. 2. 能编译通过,同时3.也能编译通过且结果为4,那也就证明了它并不是一个函数。

   sizeof 当作运算符使用

 int a[100],a1,a2,a3,a4,a5,a6;


    int *p=NULL;

    a1=sizeof(p) ;  //  4,因为p是一个指向NULL的指针。

    a2=sizeof(*p) ; // 4, 因为*p是指针指向的对象.

    a3=sizeof(a) ; // 400,此时求得的应是整个数组a的空间大小。

    a4=sizeof(a[100]) ; //4, 为a[100]是指向这个数组首元素的地址的大小。

    a5=sizeof(&a) ; // 4, 取数组首元素的地址   

    a6 =sizeof(&a[0]) ; // 4 ,取零号下标元素的地址  int *    4;


            int siae=func (a);         //数组名在函数调用中实参传形参退化成指针int *    4;

            int size =sizeof((int) (*p)) ; //*p3 强制转换成int类型  4;

      

     char *p  sizeof p   //p 前面是什么就是什么类型   ,4(指针类型)

     char *p  sizeof *p   //*p 前面是char 型  , 1.


    





sizeof


原创粉丝点击