C语言---sizeof()到底是什么?

30 篇文章 9 订阅
订阅专栏

更多关于sizeof()的小小题目请阅读[博客]:C语言–指针进阶3–这些指针和数组相关的题目你都会做吗?

sizeof是什么?

sizeof是C语言的一种单目操作符,如C语言的其他操作符++、–等。它并不是函数。sizeof操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。操作数的存储大小由操作数的类型决定。

sizeof的使用

举例:请看下面的代码:

int main()
{
	char ch = 'o';
	short a = 100;
	int b = 200;
	long c = 300;
	long long d = 400;
	unsigned int e = 500;

	int arr[10] = { 0 };

	char cha[] = "hello c";

	printf("ch的长度:%d 字节\n", sizeof(ch));
	printf("a的长度:%d 字节\n", sizeof(a));
	printf("b的长度:%d 字节\n", sizeof(b));
	printf("c的长度:%d 字节\n", sizeof(c));
	printf("d的长度:%d 字节\n", sizeof(d));
	printf("e的长度:%d 字节\n", sizeof(e));

	printf("\nint型数组arr的长度:%d 字节\n", sizeof(arr));
	printf("\n字符型数组cha的长度:%d 字节\n", sizeof(cha));


	printf("\nshort类型的长度:%d 字节\n", sizeof(short));
	printf("int的长度:%d 字节\n", sizeof(int));


	return 0;
}

程序输出结果:
在这里插入图片描述

可以看出,sizeof计算的就是变量或者类型在内存中所占存储大小,其单位为字节!

计算数组的大小时:

对于数字型的数组,比如代码中的int型数组,sizeof是这样计算的:(每个元素的大小 ✖ 元素个数),因此代码中int arr[10]这个数组计算出来的结果是40字节,因为每个元素的大小是int型4个字节,一共10个元素,故而一共是40个字节。

对于字符型数组,比如代码中的char cha[] = "hello c";,因为字符串其末尾会自动加上一个结束符“\0”,因此cha[]中实际的字符是这样的:hello c\0,其中空格算一个字符,\0算一个字符,一共8个字符,而一个字符所占空间为1个字节,因此一共有8个字节。

另需注意,sizeof并不是一个函数,而是一个操作符,因此对于一个具体的变量来说,比如a吧,sizeof a这样的不加括号的表述也是正确的,但为了让代码更清晰明确,最好还是加上括号。

C语言详解 size of 运算符
致力于C语言C++知识分享!
04-25 3533
一、sizeof的概念 sizeofC语言的一种单目操作符,如C语言的其他操作符++、--等。 它并不是函数。 sizeof操作符以字节形式给出了其操作数的存储大小。 操作数可以是一个表达式或括在括号内的类型名。 操作数的存储大小由操作数的类型决定。 二、sizeof的使用方法 1、用于数据类型 sizeof使用形式: sizeof(type) 数据类型必须用括号括住: s...
c语言详解sizeof
weixin_34115824的博客
09-27 490
原文地址:http://blog.sina.com.cn/s/blog_5da08c340100bmwu.html 一、sizeof的概念    sizeofC语言的一种单目操作符,如C语言的其他操作符++、--等。     它并不是函数。     sizeof操作符以字节形式给出了其操作数的存储大小。     操作数可以是一个表达式或括在括号内的类型名。     操作数的存储大小由操...
解析C语言中的sizeof
12-14 1969
一、sizeof的概念   sizeofC语言的一种单目操作符,如C语言的其他操作符++、--等。它并不是函数。sizeof操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。操作数的存储大小由操作数的类型决定。二、sizeof的使用方法   1、用于数据类型   sizeof使用形式:sizeof(type)   数据类型必须用括号括住。如sizeof(int
详细解析C语言中的sizeof
阳光下
10-19 1575
一、sizeof的概念  sizeofC语言的一种单目操作符,如C语言的其他操作符++、--等。它并不是函数。sizeof操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。操作数的存储大小由操作数的类型决定。 二、sizeof的使用方法  1、用于数据类型   sizeof使用形式:sizeof(type)    数据类型必须用括号括住。如sizeof
C语言中的sizeof()
m0_61345222的博客
11-17 3055
一、sizeof概念: sizeofC语言的一种单目操作符 sizeof操作符以字节形式给出了其操作数的存储大小。 二、sizefo的使用方法 1.用于数据类型 例如:sizefo(int)——表示int类型的储存大小 常见数据类型储存大小 数据类型 存储大小(单位:字节) char 1 short 2 int 4 long 4 long long 8 float 4 double 8 2.用于变量 例如:s.
c语言sizeof啥作用,C语言sizeof什么意思
weixin_33196828的博客
05-16 1万+
C语言中“SIZEOF(INT)“是什么意思?有什么作用?C语言中,sizeof是一个?sizeofC语言中保留关键字,也可以认为是一种运算符,单目运算符;sizeof是计算对象所占的字节数,通常用来查看变量、数组或结构体等所占的字节个数; 用法: #include int main() { int l; char a1[] = "abc"; l=sizeof( a1 ); printf("%d...
C语言-复习资料答案.docx
最新发布
07-27
**题目**: 经下列语句定义后,`sizeof(x)`,`sizeof(y)`,`sizeof(a)`,`sizeof(b)`在微机上的值分别是什么? ```c char x=65; float y=7.3; int a=100; double b=4.5; ``` - **选项**: A、2,2,4,4 B、1,4,4,8 C、2,...
计算机编程C语言-预处理
12-23
数组的长度可以使用`sizeof`运算符计算,例如:`int length = sizeof(nums) / sizeof(nums[0]);`。 二、预处理命令 预处理命令是C语言编程中的一种机制,用于在编译前处理源代码。预处理命令以`#`符开头,常见的...
C语言-第一章初识C语言
07-21
1.1 什么是C语言C语言是一种中级编程语言,介于机器语言和高级语言之间。它由贝尔实验室的Dennis Ritchie在1972年为UNIX操作系统开发,具有结构化编程的特点,支持过程化编程。C语言的语法严谨,灵活性高,可以...
数据结构-c语言-带main函数-串1-串的长度-标准库函数strlen()和sizeof()的两种方法。
06-24
综上所述,`strlen()`和`sizeof()`都是在C语言中获取字符串长度的手段,但它们有明显的区别。`strlen()`专注于计算字符串的字符数,直到遇到'\0'为止,而`sizeof()`则返回整个数组的大小,包括未使用的部分。在实际...
c语言sizeof(结构体名),C语言基础之--sizeof()运算符的使用以及注意
weixin_28815535的博客
05-20 1402
sizeof是运算符,可用于任何变量名、类型名或常量值,当用于变量名(不是数组名)或常量时,它不需要用圆括号。它在编译时起作用,而不是运行时。让我们先看一个结构体:structS1{charc;inti;};问sizeof(s1)等于多少聪明的你开始思考了,char占1个字节,int占4个字节,那么加起来就应该是5。是这样吗你在你机器上试过了吗也许你是对的,但很可能你是错的!VC6中按默认设...
c语言sizeof详解
热门推荐
团长的专栏
10-15 13万+
解析C语言中的sizeof 一、sizeof的概念 sizeofC语言的一种单目操作符,如C语言的其他操作符++、--等。它并不是函数。sizeof操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。操作数的存储大小由操作数的类型决定。 二、sizeof的使用方法1、用于数据类型 sizeof使用形式:sizeof(type)   数据类型必须用括号括住。如sizeof(int)。 2、用于变量 sizeof使用形式:sizeof(var_name)或..
sizeof详解-它到底是什么
qq_34118600的博客
02-15 3759
sizeof详解-它到底是什么 sizeof是一个操作符,它不是函数,他既是关键字,也是运算符。 int a; sizeof(int); sizeof(a); sizeof a; 上述3个sizeof的输出结果相同。首先它不是函数,函数没有第三种写法。 在c99标准中明确提到保留下来的关键有32个: (6.4.1) keyword: one of auto ...
C语言sizeof意义
qq_62199813的博客
05-21 85
以字节为单位返回某操作数的大小,用来求某一类型变量的长度。其运算对象可以是任何。是C语言的32个关键字之一,也叫。,sizeof是一种。
sizeof什么意思
weixin_35754676的博客
02-14 1843
"sizeof" 是一个在编程语言中的运算符,意思是求出某个变量、数组、结构体或其他数据类型的大小,单位是字节。它的结果是一个常量,在程序编译时就可以确定。使用 sizeof 运算符可以帮助我们在程序中分配内存、处理数据等操作。 ...
C语言:关键字---sizeof(计算存储空间)
MQ0522的博客
12-23 1万+
sizeof是一个“披着函数皮的关键字”,是一种单目操作符,绝对不是函数。 一、sizeof 简介 1. 一般形式 sizeof(对象); sizeof(object); 注意:除了数据类型,其他的对象可以不用括号,这也是sizeof不是函数最有力的证明。 2. 功能 返回一个对象在内存中所占中的存储空间,以字节为单位计数。 对象包括:变量、基本数据类型、数组、指针和结构体等。 二、sizeof 用法 1. 变量 2. 基本数据类型 3. 数组 4. 指针 5. 结构体 ...
java size 函数用法_解析C语言中的sizeof
weixin_36331854的博客
02-16 536
一、sizeof的概念  sizeofC语言的一种单目操作符,如C语言的其他操作符++、--等一、sizeof的概念sizeofC语言的一种单目操作符,如C语言的其他操作符++、--等。它并不是函数。sizeof操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。操作数的存储大小由操作数的类型决定。二、sizeof的使用方法1、用于数据类型sizeof使用形...
c语言sizeof用法计算char,C语言sizeof(char)是什么意思
weixin_35410816的博客
05-19 6903
sizeof() 是一种内存容量度量函数,功能是返回一个变量或者类型的大小(以字节为单位)。char是c语言中基本类型,一般char类型占1个字节。sizeof(char)的结果是,1。sizeof:计算数据类型长度char = 1int 2,long 4int a[6];sizeof (a) 2*6= 12单位都是字节。float 4扩展资料:在 Pascal 语言中,sizeof() 是一种内...
sizeofc语言的一种运算符,C语言位运算和sizeof运算符详解
weixin_29057237的博客
05-19 253
位运算和sizeof运算符C语言中提供了一些运算符可以直接操作整数的位,称为位运算,因此位运算中的操作数都必须是整型的。位运算的效率是比较高的,而且位运算运用好的话会达到意想不到的效果。位运算主要有6种:与(&),或(|),取反(~),异或(^),左移(<>)。1.位运算中的类型转换位运算都必须进行Integer Promotion。在进行运算之前,都必须将char型、shor...
c语言 ->是什么意思,举一个例子
06-03
好的,假设我们有一个结构体定义如下: ``` struct Person { char name[20]; int age; float height; }; ``` 现在我们定义一个指向 Person 结构体的指针变量 p,然后通过动态内存分配函数 malloc() 分配一块内存,并将指针 p 指向这块内存。接着,我们可以使用 -> 运算符来访问结构体中的成员,例如: ``` struct Person *p = (struct Person *) malloc(sizeof(struct Person)); strcpy(p->name, "John"); p->age = 25; p->height = 1.75; ``` 在上面的代码中,我们使用了 -> 运算符来访问结构体 p 中的成员 name、age 和 height,并为它们赋值。这相当于使用 (*p).name、(*p).age 和 (*p).height 这样的方式来访问结构体中的成员,但是使用 -> 运算符更加简洁和易读。
71
原创
179
点赞
814
收藏
83
粉丝
关注
私信
写文章

热门文章

  • C语言编写函数求字符串长度的几种实现方法 14764
  • C语言--输入10个整数并输出最大值 14470
  • 数据结构--队列--链式队列入队、出队等基本操作的实现(C语言) 10386
  • C语言---sizeof()到底是什么? 10238
  • 数据结构---链式栈及其入栈、出栈等操作的实现(C语言) 9849

分类专栏

  • C语言学习笔记 30篇
  • 模电数电学习笔记 1篇
  • 数据结构入门 11篇
  • C/C++实例 28篇

最新评论

  • 数据结构---链式栈及其入栈、出栈等操作的实现(C语言)

    羟基与苯: 哈哈哈,是当时学习的时候做的笔记,逻辑确实有点乱,估计只有当时的我最清楚了。

  • C语言--指针进阶1--字符指针、数组指针、指针数组、数组传参和指针传参

    你这瓜保熟: 好好好

  • STM32与中显串口屏的通信

    普通网友: 能分享一下嘛,兄弟,2533007168@qq.com,感谢

  • 数据结构---栈的概念及顺序栈入栈、出栈等操作的实现(C语言)

    羟基与苯: 源代码中有

  • STM32与中显串口屏的通信

    weixin_44566773: 邮箱多少

最新文章

  • 数据结构--树--二叉树的创建和遍历(前序、中序、后序、层序)
  • 数据结构--树--二叉树的定义、基本概念和性质
  • 数据结构--树--树的定义和基本概念
2022年69篇
2021年2篇

目录

目录

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

天下网标王张家港做网站优化价格厚街造纸网站优化便宜的网站制作优化电商网站怎么快速优化网站页面的优化手段保定市网站优化公司德州网站seo优化公司云梦县网站做优化要多少钱南湖网站优化的主要方法前端网站优化网站关键词推广优化报价汕尾网站搜索优化网站页面seo优化多少钱怎么优化eso网站龙岗龙城街道网站优化连云港网站搜索优化要多少钱小店区网站排名优化价格安达网站seo优化资阳网站优化推广公司北碚区网站优化公司哪家好网站内链优化只能连接产品吗茂名网站优化哪家好新网站优化如何优化网站强推云速捷认可龙岗网站优化如何做做好网站的优化方法厦门市网站优化排名崇州做优化网站青岛整站优化网站付费网站优化方法香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

天下网标王 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化