您的位置:首页 > 其它

如何获得一个数组的长度

2015-10-28 19:45 225 查看
看到这个问题之前我突然想到我平时用的各种数据结构貌似都是拿来即用,不论是书上看来的,或是学校里学的,想到的应用场景非常小,提到数组只是想到用它来存储数据,未曾想过如果不是我们定义的数组,看到了一个数组之后如何知道它存储了多少数据呢?冷不丁一看到我还真想不出来,但静下来想一想还真是一个挺简单的问题,看来以后要多想,这样才能提高自己的能力。言归正传,写下来对这个问题的一些想法,算是巩固知识了吧。

数组是C语言提供的用于存储数据的一种结构,提供了随机访问数组元素等方便的功能,众所周知它能储存int,double,float,char等基本类型,也可以存储像结构体一样的复杂些的类型(结构体数组),但是有一个共同点就是一个数组只能存储一组相同类型的元素,例如一个数组a
,从a[0]到a
期间的每一个都只能存一种类型的数据,所以想要获得数组存放的元素个数,只要用数组在内存中所占的总长度除以数组任何一个元素在内存中所占的长度即可。

数组中元素个数=数组在内存中所占的总长度 / 数组中一个元素在内存中所占的长度

下面是我写的一个很简单的试验的小程序:

#include <stdio.h>

int main()
{
int a[]={1,2,3,4,3,2,4,5,6,3,3,4,5,5};
printf("the size of the array is %d\n",sizeof(a)/sizeof(a[0]));

return 0;
}

运行结果是the size of the array is 14,验证了之前的说法。

第一次写博客,水平也比较低,希望自己能坚持下去。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: