本文主要介绍了C语言中获取数组长度的几种方法,通过实例代码进行了非常详细的介绍,对大家的学习或工作有一定的参考价值。有需要的朋友就跟着下面的边肖学习吧。
如何通过编程获得数组的长度?
答案是使用关键字 sizeof。
如前所述,sizeof可用于获取数据类型或变量在内存中占用的字节数。同样,整个数组在内存中占用的字节数也可以通过sizeof得到。因为数组中的每个元素都是相同的类型,并且在内存中占用相同的字节数,所以总字节数除以元素占用的字节数就是数组的长度。
那么如何用sizeof得到数组的总字节数呢?只要将sizeof用作数组名,就可以获得数组的总字节数。下面写个程序看看:
#包含stdio.h
int main(void)
{
int a[10]={ 0 };
printf('sizeof(a)=%d\n ',sizeof(a));
返回0;
}
输出是:
尺寸(a)=40
数组A是int类型,每个元素占用4个字节,所以长度为10的数组在内存中占用的字节数是40。总字节数除以元素占用的字节数就是数组的长度,如下面的程序所示:
#包含stdio.h
int main(void)
{
int a[10]={ 0 };
int CNT=sizeof(a)/sizeof(a[0]);
printf('cnt=%d\n ',CNT);
返回0;
}
输出是:
cnt=10
这样,sizeof(a)/sizeof(a[0])就可以自动找到数组的长度,而不管元素是增加还是减少。请注意,它计算的是数组的总长度,而不是数组中存储的有意义数据的数量。例如,定义一个int类型的数组:
int a[10]={1,2,3,4,5 };
我们只初始化了五个元素,但是发现sizeof(a)/sizeof(a[0])是10,而不是5。换句话说,我们无法通过sizeof(a)/sizeof(a[0])找出数组中有多少有意义的数据。
使用库函数strlen
lenght=strlen(str);
此方法仅适用于字符串数组。
使用while循环进行遍历计数
int I=0;
while(str[i ]!='\0');
此方法适用于计算数组中实际元素的数量。
关于C语言中获取数组长度的几种方法的文章到此结束。关于在C语言中获取数组长度的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望大家以后能多多支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。