关于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中的表达式不计算(这是语法,没有为什么)好今天分享到这里。


相关文章
|
4天前
|
编译器 C语言
sizeof,sizeof与strlen的区别
sizeof,sizeof与strlen的区别
9 0
sizeof,sizeof与strlen的区别
|
9月前
strlen和sizeof详解
strlen和sizeof详解
60 0
|
5月前
sizeof和strlen的对比
sizeof和strlen的对比
22 0
|
7月前
sizeof与strlen区别
sizeof是关键字,参数可以是各种数据(包括函数,类型,对象,数组,指针……)用于计算数据所占字节大小 strlen是函数,参数类型必须是字符型指针(char *),用于计算字符串,从字符串的第一个地址开始遍历,直到遇到‘\0’停止
46 0
|
10月前
|
存储 编译器 C++
C++ sizeof 的介绍
C++ sizeof 的介绍
90 0
|
10月前
sizeof与strlen练习
sizeof与strlen练习
37 0
|
C++
关于sizeof相关注意点
strlen是专门用来求字符串长度的,统计的是’\0’之前出现的字符个数,一定要找到’\0’才能结束,所以如果没有\0可能会存在越界访问问题
54 0

热门文章

最新文章