sizeof的使用方式

  • 本质:不是函数,而是一个操作符
  • 当统计类型占得内存空间时候,必须要加小括号
  • 返回值类型是 无符号整型 unsigned int
  • 可以统计数组的长度
  • 数组名称如果在参数列表中,会退化为指针,指向数组的第一个元素。

代码示例:

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
//1.sizeof本质,不是一个函数,只是一个操作符,类似+-*/
void test01()
{
   
        //对于数据类型,sizeof必须用()去使用,但是对于变量,可以不加()
        printf("size of int=%d\n",sizeof(int));
        double d = 3.14;
        printf("size of d=%d\n",sizeof (d));
}
//2.sizeof的返回值类型是 unsigned int 无符号整型
void test02()
{
   
        //unsigned int a = 10;
        //if (a - 20 > 0)//当unsigend int和int类型数据做运算,编译器会将数据类型都转为unsigne int
        //{
   
        // printf("大于 0\n");
        //}
        //else
        //{
   
        // printf("小于 0\n");
        //}//大于0
        if (sizeof(int)-5>0)
        {
   
               printf("大于0\n");
        }
        else
        {
   
               printf("小于0\n");
        }
}
//3.sizeof可以统计数组长度
//当数组名作为函数参数时候,会退化为指针,指向数组中的第一个元素
void calculateArray(int arr[])
{
   
        printf("arr的数组长度:%d\n",sizeof(arr));
}
void test03()
{
   
        int arr[] = {
    1,2,3,4,5,6,7,8 };
        calculateArray(arr);
}
int main()
{
   
        //test01();
        //test02();
        test03();
        system("puase");
        return EXIT_SUCCESS;
}

更多文章,敬请关注微信公众号:YQ编程