(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;
}

执行结果 :

(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;
}

执行结果 :

代码分析 :

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

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

C语言如何计算数组的长度相关推荐

  1. php怎么比较数组长度_php如何计算数组的长度?php数组长度的获取方法

    php数组长度的获取方法,php为我们提供了两个函数可以计算一维数组长度,相信大家对获取数组长度的函数不是很清楚,今天我们就带大家详细了解下php数组长度的获取方法~ 在php中获取数组长度方法很简单 ...

  2. C语言——计算数组长度

    如何计算 C 语言数组长度 数组特点 长度固定(变长数组除外) 数组每个元素占用的字节数相同即: sizeof(a[0]) = sizeof(a[1]) = sizeof(a[n]) 一维数组 数组定 ...

  3. php求数组的长度的函数,php如何计算数组长度?

    php如何计算数组长度? 在PHP中,可以使用count() 或sizeof函数来获取数组中存在的元素的总长度或总数,计算数组长度. 方法一:count()函数 首先我们创建了一个数组,如下:$arr ...

  4. c语言不能在函数中求数组大小,C语言中数组长度不能用变量定义吗?

    翻翻过去那场雪 1.C语言中不支持.C++中支持变长数组(你可以自行度娘变长数组和alloca函数),但是因为其实在栈上分配,不被推荐使用.做为解决方案,你可以使用C式的malloc函数或者C++式的 ...

  5. c语言字符数组的实际长度,C语言中,当计算字符数组长度时,用sizeof 和strlen 的原理及两者的区别...

    1:定义时用字符初始化 (1)char chs[7] = {'a', 'c', '0', 'z', '3','d'}; // 长度为6 上式等价于: (2)char chs[7] = {'a', 'c ...

  6. C语言中数组长度的计算详解

    一. C语言中计算数组长度大小 C语言字符串长度的计算可以使用strlen(str); 但是对于数组长度的大小却没有相关函数可以使用: C语言数组长度的大小可以使用: int main() {int ...

  7. 第六章 C语言数组_C语言变长数组:使用变量指明数组的长度

    在<C语言的三套标准:C89.C99和C11>一节中我们讲到,目前经常使用的C语言有三个版本,分别是 C89.C99 和 C11.C89(也称 ANSI C)是较早的版本,也是最经典的版本 ...

  8. c语言中数组长度的计算

    c语言中数组长度的计算 一维数组 计算数组的长度:       sizeof(数组名):得到这个数组占用内存的总长度       公式: sizeof(数组名) / sizeof(数组类型); 二维数 ...

  9. c语言怎么获取数组的长度,C语言怎么获取数组的长度

    c语言中,定义数组后可以用sizeof命令获得数组的长度[可容纳元素个数],通过传递数组名参数到子函数中,以获得数组长度是不可行的. c语言中,定义数组后可以用sizeof命令获得数组的长度(可容纳元 ...

最新文章

  1. windows下nodejs express安装及入门网站,视频资料,开源项目介绍
  2. Python 基础整理(未完)
  3. 灰度图像--图像增强 双边滤波 Bilateral Filtering
  4. shell脚本判断linux系统,并判断该系统版本号,从而关闭防火墙
  5. ES5-拓展 原型链、继承、类
  6. 30 个实例详解 TOP 命令!
  7. 磁力计 姿态 matlab,磁力计如何用来计算姿态(1)
  8. Scrapy框架的用法实例
  9. [ANE for Android]Java接口部分引用第三方JAR的解决办法
  10. flex 实现图片播放 方案二 把临时3张图片预加载放入内存
  11. java选课管理_学生选课管理系统(Java语言期末前测试)
  12. linux显卡驱动安装在哪个文件夹,linux 下安装Nvidia显卡驱动
  13. 介绍几种常用的Oracle客户端工具
  14. 流式传输 android,如何从android流式传输到ffserver
  15. 计算机主板供电故障,电脑主板内部电池供电出现问题,会出现哪些故障问题
  16. 3.2 人工智能关键技术
  17. 计算机语言中str是什么意思,python中str函数的作用是什么
  18. (原创)IR2101应用笔记(IR2101)(全桥)(MOS)
  19. 计算机flash听课记录范文,听课记录5篇
  20. Java:XML之JavaSE SAX解析

热门文章

  1. android 手机震动1次,Android中手机震动的设置(Vibrator)的步骤
  2. SVM支持向量机算法
  3. linux系统管理及配置
  4. 三十四、Zabbix-触发器、动作及邮件报警
  5. MATLAB app designer/GUI 学习笔记(一)
  6. 《程序设计基础II》实验3——递推
  7. php程序员如何写简历
  8. 参考文档一:性能测试---测试方案
  9. Linux locale命令
  10. 论文投稿指南——中文核心期刊推荐(新闻事业)