C语言数组大小-程序员宅基地

技术标签: c语言  

        在数组进行集成初始化时(上一篇中有相关内容,链接在下方),数组长度会由编译器设定。数组的初始化https://blog.csdn.net/weixin_52133421/article/details/122850510?utm_source=app&app_version=5.0.1&code=app_1562916241&uLinkId=usr1mkqgl919blen

        如果需要得到数组的大小,可以通过sizeof函数。sizeof(array)可以得到array数组所占的内容大小,单位为字节(Byte),sizeof(array[i])可以得出单个元素所占内容大小。所以可以通过sizeof(array)/sizeof(array[i])得出数组的长度。

源代码:

#include<stdio.h>
int main()
{
	int i;
	int number;
	int array[] = {1,3,5,4,7,0,4,6,9,12,16,23};
	printf("数组总字节数:%lu\n", sizeof(array));
	printf("数组单个元素字节数:%lu\n", sizeof(array[0]));
	number = sizeof(array) / sizeof(array[0]);     //number即为数组长度
	printf("数组长度:%d\n", number);
	for (i = 0; i < number; i++)
		printf("%d  ", array[i]);
	return 0;
}

 测试结果:

数组总字节数:48
数组单个元素字节数:4
数组长度:12
1  3  5  4  7  0  4  6  9  12  16  23

        这样得出数组长度的最大好处在于一旦修改数组中初始的数据,不需要再修改遍历的代码,例如其中的遍历数组操作。

for (i = 0; i < number; i++)
    printf("%d  ", array[i]);

        无论数组中的数据怎么修改,数组长度始终是正确的。


      

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_52133421/article/details/122851559

智能推荐

mysql5.7 geometry算法_MySQL-程序员宅基地

文章浏览阅读290次。19.2.1.Geometry类的层次几何类定义了下述层次:·Geometry(非实例化)oPoint(可实例化的)oCurve(非实例化)§LineString(可实例化的)·Line·LinearRingoSurface(非实例化)§Polygon(可实例化的)oGeometryCollection(可实例化的)§MultiPoint(可实例化的)§MultiCurve(非实例化)·Mult..._mysql5.7中定义geometry字段时指定srid参考系

SLAM前端 ---------特征提取之ORB(ORB与SIFT与SURF)_orb 轮廓定位-程序员宅基地

文章浏览阅读3.6k次,点赞3次,收藏11次。1.ORB特征简介ORB是Oriented FAST and Rotated BRIEF(oFAST and rBRIEF)的简称,ORB的名字已经说明了其来源,其实ORB特征是采用FAST方法来检测提取特征,但FAST特征本身是不具有方向性的,所以在ORB特征中添加对特征方向的计算;另外,ORB采用BRIEF方法计算特征描述子,BRIEF的优点在于速度,但是缺点也很明显:不具备旋转不变性,对噪..._orb 轮廓定位

Mysql断流_彻底解决ROS网页断流问题-程序员宅基地

文章浏览阅读210次。首先,检查你的ROS,确定他本身没有任何问题。然后,打开你的WINBOX登陆进去,打开防火墙规则,IP-FIREWALL-CONNECTIONS-TRACKING好了。打开TRACKING后,将里面的时间设置稍微大点。具体多大,没有确切数字,不过一定要大。最少也得30秒以上。你按照里面的默认,成倍数增加,慢慢试。下面是我自己的设置。已经没有问题了,具体什么原因,慢慢去体会。这个设置不是固定的。因为..._ros wan口断流

To display the conditions report re-run your application with 'debug' enabled.问题解决方案-程序员宅基地

文章浏览阅读8.2w次,点赞17次,收藏77次。问题描述:Error starting ApplicationContext. To display the conditions report re-run your application with ‘debug’ enabled.或者:The Tomcat connector configured to listen on port 7001 failed to start. The po..._to display the conditions report re-run your application with 'debug' enable

数字经济新生态,中小企业如何发展营销数字化-程序员宅基地

文章浏览阅读233次。在新经济发展态势下,#中小企业数字化转型#是大势所趋!

python 结束进程 terminate_【Python】multiprocessing.Process.terminate()结束子进程将导致子进程无法执行finally块,如何解决?...-程序员宅基地

文章浏览阅读2.2k次。我在使用multiprocessing库创建进程的时候,发现了这么一个问题:https://docs.python.org/3.5/library/multiprocessing.html#multiprocessing.Process中对于terminate函数的文档中说:Note that exit handlers and finally clauses, etc., will not be..._process.terminate()

随便推点

CentOS-消除未被及时释放的TIME_WAIT状态的TCP连接_centos连接不释放-程序员宅基地

文章浏览阅读6.8k次。CentOS_消除未被及时释放的TIME_WAIT状态的TCP连接如发现系统存在大量TIME_WAIT状态的连接,通过调整内核参数解决,vim /etc/sysctl.conf编辑文件,加入以下内容:net.ipv4.tcp_syncookies = 1net.ipv4.tcp_tw_reuse = 1net.ipv4.tcp_tw_recycle = 1net.ipv4.tcp_fin_..._centos连接不释放

[附源码]JAVA毕业设计家政服务网站(系统+LW)_家政服务网站毕设-程序员宅基地

文章浏览阅读233次。[附源码]JAVA毕业设计家政服务网站(系统+LW)目运行环境项配置:Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:JAVA + mybatis + Maven + Vue 等等组成,B/S模式 + Maven管理等等。环境需要1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。2.IDE环境:IDEA,E_家政服务网站毕设

ZStack实践汇 | ZStack部署实战之VDI异构部署-程序员宅基地

文章浏览阅读486次。近百位大V支持的“首届ZStack社区征文”已经完美结束啦~上周我们和大家一起分享了王业建的选型经历,这次给大家带来的是来自ZStack社区蒋克勤的VDI异构部署。想要了解更多技术干货请..._zstack 落地部署方案

list、map、set遍历方法总结_便利map,list,set方法-程序员宅基地

文章浏览阅读119次。目录list遍历方法map遍历方法set遍历方法list遍历方法1:该方法有缺陷,当遍历的过程中需要删除或者添加元素,则该遍历方法有问题(此时需要使用迭代器)private void testList(List&lt;String&gt; list) { for (int i = 0; i &lt; list.size(); i ++) { S..._便利map,list,set方法

【Git系列】Git配置SSH免密登录-程序员宅基地

文章浏览阅读2.8k次。在以上push操作过程中,我们第一次push时,是需要进行录入用户名和密码的,比较麻烦。而且我们使用的是https连接方式,在真正工作中我们使用的是SSH连接方式,SSH连接方式要比https方式更安全。登录github,打开setting配置,在设置界面选择。再使用免密登录,此时我们push可以一下命令即可。这里以github为例子。已经设置的可以检查一下。_git配置ssh免密登录

strace,ltrace linux下跟踪进程调用的命令-程序员宅基地

文章浏览阅读113次。转载自:http://hi.baidu.com/ostech/blog/item/b600c901d742987b3812bb0b.html本工具可以用来做大多数排除,比如mount一个NFS,很慢,找不出原因,我们可以使用strace命令来跟中mount这个经常所有的调用过程。strace 命令是一种强大的工具,它能够显示所有由用户空间程序发出的系统调用。  stra..._strace命令,ltrace命令是用来跟踪进程