C语言如何计算数组的长度

C语言如何计算数组的长度(1)借助sizeof()函数:#include<stdio.h>intmain(){ //定义一个整型数组,并进行初始化赋值9个数据:  intarr[]={1,2,3,4,5,6,7,8,9}; intlength=0; //计算数组中数据长度: //所有数据的字节数除以一个数据的字节数即为数据的个数:  length=sizeof(arr)/…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

(1)借助sizeof()函数 :

#include<stdio.h>
int main()
{

// 定义一个整型数组, 并进行初始化赋值9个数据 : 
int arr[] = {1,2,3,4,5,6,7,8,9};
int length = 0;
// 计算数组中数据长度 :
// 所有数据的字节数除以一个数据的字节数即为数据的个数 : 
length = sizeof(arr) / sizeof(int); 

printf(“数组的长度为: %d\n”,length);

return 0;

执行结果 :

C语言如何计算数组的长度

(2)上面的方法会出现一个误区

那就是当数组作为实参传递到另一个函数时, 而这个函数执行了上面同样的方法, 结果出来的不会正确的数组的长度 :

测试代码 :

#include<stdio.h>

void test(int arr[])
{

int length = 0;
length = sizeof(arr) / sizeof(int);
printf(“test_数组的总字节数为: %d\n”,sizeof(arr));
printf(“test_数组的长度为: %d\n”,length);
}

int main()
{

// 定义一个整型数组, 并进行初始化赋值9个数据 : 
int arr[] = {1,2,3,4,5,6,7,8,9};
int length = 0;
// 计算数组中数据长度 :
// 所有数据的字节数除以一个数据的字节数即为数据的个数 : 
length = sizeof(arr) / sizeof(int); 
printf(“main_数组的长度为: %d\n”,length);

test(arr);

return 0;

执行结果 :

C语言如何计算数组的长度

代码分析 :

当将数组作为实参传递到另一个函数中时, 另一个函数的形参相当于一个指针变, 因为将数组的名作为实参时, 就是将数字的首地址作为实参, 所以在test函数中输出的sizeof(arr)其实得到的是一个整型数组的长度(所占的字节数), 所以结果是8, 再用其除以int所占的字节数(4), 结果就是2 .

(这样是得不到准确的数组的长度的, 建议的操作是在定义数组的函数中计算数组的长度, 在以实参的形式传递出去, 这样其他的函数变可以获得数组的长度

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/157644.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • IPD产品开发流程详解「建议收藏」

    IPD产品开发流程详解「建议收藏」为什么80%的码农都做不了架构师?>>>集成产品开发(IntegratedProductDevelopment,简称IPD)是一套产品开发的模式、理念与方法。IPD的思想来源于美国PRTM公司出版的《产品及生命周期优化法一书,该书中详细描述了这种新的产品开发模式所包含的各个方面。最先将IPD付诸实践的是IBM公司,IBM公司实施IPD的效果不管在财务指标还是质量指标上得到验证,最显著的改进在于:  1、产品研发周期显著缩短;   2、产品成本降低;  3、研…

    2022年6月24日
    64
  • 运用NDWI指数对高分1号进行水体提取–以matlab为例

    运用NDWI指数对高分1号进行水体提取–以matlab为例clcclearpath1=’D:\…\GF1_PMS2_E116.7_N40.2_20130501_L1A0000152355-MSS2.tiff’;image=imread(path1);R=image(:,:,1);G=image(:,:,2);B=image(:,:,3);Nir=image(:,:,4);[row,column,band]=size(image);N=

    2025年6月5日
    2
  • 一篇万字博文带你入坑爬虫这条不归路 【万字图文】

    ????最近,很多粉丝私信我问——爬虫到底是什么?学习爬虫到底该从何下手?????????其实,我想说的也是曾经的我身为小白的时候某些大牛对我说过的——很多时候我们都有一颗想要学习新知识的心,却总是畏惧于对想要学习内容的无知,这也是多数人失败甚至后悔终身的:因为他们从来没有开始过!????????借一位几年前带我入坑的前辈的话——坑就在你面前,别总是犹豫徘徊,大胆一点:向前一步,入了这个坑,莽着头就是往前冲,别多想,别回头,终有一天——>你也会成为别人的前辈!????今日份鸡汤已成功送达,目

    2022年4月6日
    44
  • 好用的pycharm插件_手机flash player插件

    好用的pycharm插件_手机flash player插件PyCharm无敌插件推荐(一)插件安装途径Step1在文件(File)菜单中选择设置(Settings)Step2在编辑器(Editor)菜单中选择插件(Plugins)二级1.Chinese(Simplified)LanguagePack这是一款JetBrains官方自己推出的汉化插件,对于不是很擅长的英语的初学者十分友好。能够帮助初学者尽快熟悉PyCharm。…

    2022年8月26日
    6
  • pycharm如何调试代码_pycharm怎么分段运行代码

    pycharm如何调试代码_pycharm怎么分段运行代码最全Pycharm教程(1)——定制外观  最全Pycharm教程(2)——代码风格  1、准备工作  (1)Python版本为2.7或者更高版本  (2)已经创建了一个python工程并且添加了内容,具体参考: GettingStartedtutorial  2、第一步——运行代码  打开之前编写的Solver.py文件,在编辑框中右键,选

    2022年8月27日
    5
  • ensp的dhcp配置命令(怎么配置dhcp服务器)

    DHCP动态主机配置协议,用来分配IP地址等网络参数。用户上网需要的条件:IP地址,网关,DNS…注意:除非有特殊需求会采用静态配置(员工比较多的企业)路由器、核心交换机、Linux、服务器等上面都可以配置DHCP。DHCP配置实验:dhcp第一种分配IP地址的配置方式:[Huawei]dhcpenable:在路由器上,开启DHCP功能。[Huawei]intg0/0/0ipaddress10.1.1.1进入与设备相连的接口添加物理IP[Huawei]ippool

    2022年4月18日
    99

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号