关于sizeof介绍与分享给大家介绍

各位少年:sizeof的使用

前言各种数据类型的长度

每一种数据类型都有自己的长度,使用不同的数据类型,能够创建长度不同的变量,变量长度的不同,存储的数据范围就有所差异。

sizeof操作符

sizeof是一个关键字,也是操作符,专门是用来计算sizeof操作符数的类型长度的,单位是字节

sizeof操作符的操作数可以是类型,也可是变量或者表达式

sizeof(类型)

sizeof 表达式

sizeof的操作符数如果不是类型,是表达式的时候,可以省略掉后面的括号。

sizeof后面的表达式不是真实参与运算的,根据表达式的类型来得出大小。

sizeof的计算结果是 size_t类型的。

sizeof的运算符的返回值,C语言只规定是无符号的整数,并没有规定具体的类型,而是留给系统自己去决定,sizeof到底返回什么类型。不同系统中,返回值的类型有可能是unsigned int,也有可能是unsigned long,甚至是unsigned long long,对应的printf()占位符分别是%u,%lu和%llu。这样不利于程序的可移植性。

int main()
{
printf("%d\n",sizeof(char));
printf("%d\n",sizeof(_Boot));
printf("%d\n",sizeof(short);
printf("%d\n",sizeof(int);
printf("%d\n",sizeof(long);
printf("%d\n",sizeof(long long);
printf("%d\n",sizeof(float);
printf("%d\n",sizeof(double);
printf("%d\n",sizeof(long double);
return 0;
}

关于sizeof介绍与分享给大家介绍_第1张图片

sizeof是一个关键字,也是操作符,专门是用来计算sizeof的操作符数的类型长度的,单位是字节。

sizeof操作符的操作数可以是类型,也可是变量或者表达式。注意sizeof计算结果都是字节

下面是内存的换算

1Byte=8bit

1KB=1024byte

1MB=1024KB

1GB=1024MB

1TB=1024GB

哪好我们来分享一道面试题

#include
int main()
{
short s=2;S占两个字节
int b=10;
printf("%zd\n"sizeof(s=b+1));
printf("s=%d\n",s);
return 0;
}

sizeof中的表达式不计算(这是语法,没有为什么)好今天分享到这里。

你可能感兴趣的:(linux,算法,网络)