C语言--数组的长度计算【详细解释】

news2024/11/22 15:56:03


 一.数组的长度计算公式

我们都知道字符串有特定的函数strlen,而数组没有,(虽然字符串也是一种特殊的数组)

但是,类似于这样的数组:

int arr[]={12,89,1,5,31,78,45,12,12,0,45,142,21,12};

我们很难一眼就看出来数组的长度。所以我们需要一个公式。

先看一下这个小学题目:一个苹果5元,小明有20元,问他能买几个苹果?

很容易:20除以5==4(个)

同样类比到这里,当我们知道数组的总大小,再除以单个元素的大小,不就得到了数组的个数了。

公式:sizeof(arr)/sizeof(arr[0]); 


二.例子

int main()
{
	int arr[] = { 12,89,1,5,31,78,45,12,12,0,45,142,21,12 };
	int len = sizeof(arr) / sizeof(arr[0]);
	printf("数组的长度是%d", len);

	return 0;
}


 三.在函数中如何计算数组的长度

这个公式是不可以在函数中使用的,因为数组传参的时候传的是首元素的地址,因此不可以使用。那我们在函数中传数组,必须要传递两个东西:

1.数组的首元素地址

2.数组的长度

 下面通过一个代码看一下区别

void test(int arr[])
{
	int len = sizeof(arr) / sizeof(int);//2,x64的指针是8个字节
	printf("函数中的数组长度%d\n", len);
}
int main()
{
	int arr[] = { 12,89,1,5,31,78,45,12,12,0,45,142,21,12 };//14个
	int len = sizeof(arr) / sizeof(arr[0]);
	test(arr);
	printf("主函数中的数组的长度是%d", len);

	return 0;
}

正确的传参方式:

//正确的演示
void test(int arr[],int len)
{
	printf("函数中的数组长度%d\n", len);
}
int main()
{
	int arr[] = { 12,89,1,5,31,78,45,12,12,0,45,142,21,12 };//14
	int len = sizeof(arr) / sizeof(arr[0]);
	test(arr,len);
	printf("主函数中的数组的长度是%d", len);
	return 0;
}


 创作不易, 如果这份博客👍对你有帮助,可以给博主一个免费的点赞以示鼓励。
欢迎各位帅哥美女点赞👍评论⭐收藏⭐,谢谢!!!
如果有什么疑问或不同的见解,欢迎在评论区留言哦👀。
祝各位生活愉快⭐

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1207478.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AI歌姬,C位出道,基于PaddleHub/Diffsinger实现音频歌声合成操作(Python3.10)

懂乐理的音乐专业人士可以通过写乐谱并通过乐器演奏来展示他们的音乐创意和构思,但不识谱的素人如果也想跨界玩儿音乐,那么门槛儿就有点高了。但随着人工智能技术的快速迭代,现在任何一个人都可以成为“创作型歌手”,即自主创作并…

诚迈科技旗下智达诚远亮相2023世界新汽车技术合作生态展

11月10日-12日,2023世界新汽车技术合作生态展在昆山盛大举行,这是中国汽车产业史上首次真正以零部件为主体的新汽车供应链展。诚迈科技子公司智达诚远作为智能汽车操作系统领军企业,携引领跨域融合时代的峰昇操作系统FusionOS亮相大会&#x…

微信智能机器人开发-基于E云管家,实现强大的个微管理

本文介绍了如何利用E云管家开发一个功能丰富的微信智能机器人。E云管家是一个开发协议,为微信机器人提供了强大的功能支持,包括关键字回复、自动通过好友和自动发朋友圈等特性。我们将通过一个简单的示例演示如何在E云管家下实现这些功能,并附…

Find My滑雪板|苹果Find My技术与滑雪板结合,智能防丢,全球定位

滑雪板运动是一项越来越受年轻人青睐的运动,随着年轻人的消费能力不断提高,滑雪板市场也会得到更多的机会和发展空间。滑雪板市场规模是一个不断增长的市场,目前市场规模已经相当大。根据统计数据显示,全球滑雪板市场规模约为26亿…

蓝桥杯每日一题2023.11.14

题目描述 题目分析 此题目的最终目标是将字母都填上数使等式符合条件&#xff0c;实际我们发现可以使用搜索将所有符合条件的进行判断&#xff08;答案&#xff1a;29&#xff09; 由于小数可能会出现错误故我们将其进行简单变化进行搜索 #include<bits/stdc.h> using…

申请SSL证书常见问题

在申请SSL证书过程中&#xff0c;很可能会遇到一些问题&#xff0c;有些需要技术人员进行协助解决&#xff0c;而有些可能自己能解决了&#xff0c;那我们在申请SSL证书过程中到底会遇到哪些常见问题呢&#xff0c;一起来看看吧&#xff01; 1.申请SSL证书时需要注意什么吗&…

解决:element ui表格表头自定义输入框单元格el-input不能输入问题

表格表头如图所示&#xff0c;有 40-45&#xff0c;45-50 数据&#xff0c;且以输入框形式呈现&#xff0c;现想修改其数据或点击右侧加号增加新数据编辑。结果不能输入&#xff0c;部分代码如下 <template v-if"columnData.length > 0"><el-table-colu…

Java基于itextPDF实现pdf动态导出

Java基于itextPDF实现pdf动态导出 1、制作PDF导出模板2 、集成itextpdf3 、编写实体4 、编写主要代码5、编写controller并测试补充&#xff1a;踩坑记录 现在的业务越来越复杂了&#xff0c;有些业务场景已经不能满足与EXCEL导出和WORD导出了&#xff0c;例如准考证打印&#x…

MATLAB|科研绘图|山脊图

效果图 山脊图介绍 山脊图&#xff08;Ridge Plot&#xff09;&#xff0c;也被称为Joy Plot&#xff0c;是一种用于可视化数据分布的图表&#xff0c;特别是用于显示多个组的分布情况。在这种图表中&#xff0c;每个组的数据分布都通过平滑的密度曲线来表示&#xff0c;这些曲…

JTS: 20 InteriorPoint 内部中心点

文章目录 版本代码 版本 org.locationtech.jts:jts-core:1.19.0 链接: github 代码 package pers.stu.algorithm;import org.locationtech.jts.algorithm.InteriorPoint; import org.locationtech.jts.geom.Coordinate; import org.locationtech.jts.geom.GeometryFactory; i…

FusionDiff:第一个基于扩散模型实现的多聚焦图像融合的论文

文章目录 1. 论文介绍2. 研究动机3. 模型结构3.1 网络架构3.2 前向扩散过程3.3 逆向扩散过程3.4 训练和推理过程 4. 小样本学习4. 实验结果 1. 论文介绍 题目&#xff1a;FusionDiff: Multi-focus image fusion using denoising diffusion probabilistic models 作者&#xf…

微服务全链路监控技术的实践路径

&#x1f4e2;专注于分享软件测试干货内容&#xff0c;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01;&#x1f4e2;交流讨论&#xff1a;加入1000人软件测试技术学习交流群&#x1f4e2;资源分享&#xff1a;进了字节跳动之后&#xff0c;才…

【自动化测试】Jenkins持续集成-设置执行环境+构建触发器(超细整理)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 1、Jenkins流水线…

SSL证书为什么那么贵?有便宜的吗?

SSL证书在网络安全中扮演着关键的角色&#xff0c;确保数据传输的机密性和完整性。然而&#xff0c;SSL证书的价格差异却常常让人感到疑惑&#xff0c;为何有些证书如此昂贵&#xff0c;而另一些则相对便宜&#xff1f;这个问题涉及到多个因素&#xff0c;包括证书类型、品牌声…

【图的定义和术语,图的类型定义】

文章目录 图的定义和术语图的类型定义 图的定义和术语 图&#xff1a;G&#xff08;V,E&#xff09;V:顶点&#xff08;数据元素&#xff09;的有穷非空集合。 E&#xff1a;边的有穷集合。 无向图&#xff1a;每条边都是无方向的。 有向图&#xff1a;每条边都是有方向的。 …

新公众号没有留言功能怎么办?如何设置留言?

为什么公众号没有留言功能&#xff1f;根据要求&#xff0c;自2018年2月12日起&#xff0c;新申请的微信公众号默认无留言功能。有些人听过一个说法&#xff1a;公众号粉丝累计到一定程度或者原创文章数量累计到一定程度就可以开通留言功能。其实这个方法是2018年之前才可以&am…

数据结构第三课 -----线性表之双向链表

作者前言 &#x1f382; ✨✨✨✨✨✨&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f382; ​&#x1f382; 作者介绍&#xff1a; &#x1f382;&#x1f382; &#x1f382; &#x1f389;&#x1f389;&#x1f389…

全网火爆,Python接口自动化测试Mock服务详细总结(实战场景)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 1、Mock实现原理与…

GitHub加速配置

1. 找到要加速的域名 GitHub&#xff1a;github.com&#xff08;这只是加载主页面的&#xff09;GitHub下载&#xff1a;codeload.github.com&#xff08;不唯一&#xff0c;自己去下载链接看&#xff09; 2. 用域名到DNS解析服务器地址 ITDOG 3. 修改 Hosts 文件 依据解…

PicoDiagnostics (NVH设备软件)-PS软件设置文件类型介绍

作为远程技术指导人员&#xff0c;下面这个功能对你来说可能非常有帮助。 在PicoScope 7 软件的文件保存格式里&#xff0c;通常选择的是<PS 数据文件>类型&#xff0c;容易忽略其他实用的保存文件类型&#xff0c;下面我们介绍<PS设置文件>类型。 PS 数据文件&…