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

简介: 关于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是一个关键字,也是操作符,专门是用来计算sizeof的操作符数的类型长度的,单位是字节。


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

下面是内存的换算


1Byte=8bit


1KB=1024byte


1MB=1024KB


1GB=1024MB


1TB=1024GB

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

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

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


相关文章
|
8月前
|
编译器 C语言
sizeof,sizeof与strlen的区别
sizeof,sizeof与strlen的区别
76 0
sizeof,sizeof与strlen的区别
|
7月前
|
C语言
sizeof
【6月更文挑战第17天】
88 1
strlen和sizeof详解
strlen和sizeof详解
97 0
sizeof和strlen的对比
sizeof和strlen的对比
58 0
|
编译器 C++
memset的坑
memset 作为对内存初始化的函数,还是有不少坑和误区的,今天就来对这个函数作一个总结。
153 0
|
存储 编译器 C++
C++ sizeof 的介绍
C++ sizeof 的介绍
122 0
sizeof与strlen练习
sizeof与strlen练习
58 0
|
C++
关于sizeof相关注意点
strlen是专门用来求字符串长度的,统计的是’\0’之前出现的字符个数,一定要找到’\0’才能结束,所以如果没有\0可能会存在越界访问问题
109 0