C语言如何计算数组的长度
(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 main() test(arr); return 0; |
执行结果 :
代码分析 :
当将数组作为实参传递到另一个函数中时, 另一个函数的形参相当于一个指针变量, 因为将数组的名作为实参时, 就是将数字的首地址作为实参, 所以在test函数中输出的sizeof(arr)其实得到的是一个整型数组的长度(所占的字节数), 所以结果是8, 再用其除以int所占的字节数(4), 结果就是2 .
(这样是得不到准确的数组的长度的, 建议的操作是在定义数组的函数中计算数组的长度, 在以实参的形式传递出去, 这样其他的函数变可以获得数组的长度)
C语言如何计算数组的长度相关推荐
- php怎么比较数组长度_php如何计算数组的长度?php数组长度的获取方法
php数组长度的获取方法,php为我们提供了两个函数可以计算一维数组长度,相信大家对获取数组长度的函数不是很清楚,今天我们就带大家详细了解下php数组长度的获取方法~ 在php中获取数组长度方法很简单 ...
- C语言——计算数组长度
如何计算 C 语言数组长度 数组特点 长度固定(变长数组除外) 数组每个元素占用的字节数相同即: sizeof(a[0]) = sizeof(a[1]) = sizeof(a[n]) 一维数组 数组定 ...
- php求数组的长度的函数,php如何计算数组长度?
php如何计算数组长度? 在PHP中,可以使用count() 或sizeof函数来获取数组中存在的元素的总长度或总数,计算数组长度. 方法一:count()函数 首先我们创建了一个数组,如下:$arr ...
- c语言不能在函数中求数组大小,C语言中数组长度不能用变量定义吗?
翻翻过去那场雪 1.C语言中不支持.C++中支持变长数组(你可以自行度娘变长数组和alloca函数),但是因为其实在栈上分配,不被推荐使用.做为解决方案,你可以使用C式的malloc函数或者C++式的 ...
- c语言字符数组的实际长度,C语言中,当计算字符数组长度时,用sizeof 和strlen 的原理及两者的区别...
1:定义时用字符初始化 (1)char chs[7] = {'a', 'c', '0', 'z', '3','d'}; // 长度为6 上式等价于: (2)char chs[7] = {'a', 'c ...
- C语言中数组长度的计算详解
一. C语言中计算数组长度大小 C语言字符串长度的计算可以使用strlen(str); 但是对于数组长度的大小却没有相关函数可以使用: C语言数组长度的大小可以使用: int main() {int ...
- 第六章 C语言数组_C语言变长数组:使用变量指明数组的长度
在<C语言的三套标准:C89.C99和C11>一节中我们讲到,目前经常使用的C语言有三个版本,分别是 C89.C99 和 C11.C89(也称 ANSI C)是较早的版本,也是最经典的版本 ...
- c语言中数组长度的计算
c语言中数组长度的计算 一维数组 计算数组的长度: sizeof(数组名):得到这个数组占用内存的总长度 公式: sizeof(数组名) / sizeof(数组类型); 二维数 ...
- c语言怎么获取数组的长度,C语言怎么获取数组的长度
c语言中,定义数组后可以用sizeof命令获得数组的长度[可容纳元素个数],通过传递数组名参数到子函数中,以获得数组长度是不可行的. c语言中,定义数组后可以用sizeof命令获得数组的长度(可容纳元 ...
最新文章
- windows下nodejs express安装及入门网站,视频资料,开源项目介绍
- Python 基础整理(未完)
- 灰度图像--图像增强 双边滤波 Bilateral Filtering
- shell脚本判断linux系统,并判断该系统版本号,从而关闭防火墙
- ES5-拓展 原型链、继承、类
- 30 个实例详解 TOP 命令!
- 磁力计 姿态 matlab,磁力计如何用来计算姿态(1)
- Scrapy框架的用法实例
- [ANE for Android]Java接口部分引用第三方JAR的解决办法
- flex 实现图片播放 方案二 把临时3张图片预加载放入内存
- java选课管理_学生选课管理系统(Java语言期末前测试)
- linux显卡驱动安装在哪个文件夹,linux 下安装Nvidia显卡驱动
- 介绍几种常用的Oracle客户端工具
- 流式传输 android,如何从android流式传输到ffserver
- 计算机主板供电故障,电脑主板内部电池供电出现问题,会出现哪些故障问题
- 3.2 人工智能关键技术
- 计算机语言中str是什么意思,python中str函数的作用是什么
- (原创)IR2101应用笔记(IR2101)(全桥)(MOS)
- 计算机flash听课记录范文,听课记录5篇
- Java:XML之JavaSE SAX解析