sizeof的使用方式

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

代码示例:

#define
#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编程