众所周知,strlen()是字符串操作函数,位于string.h头文件中,顾名思义,只能用来求字符型(char)数组的长度,不能他用。若我们要用一个简单的方法求一个整型数组的长度应该怎么办呢?
不同位数的整型数组存储所用的字节大小不同。比如32位的整数占用4个字节,而16位的整数却是2个字节,当处理一个整型数组时,我们不妨使用一个通用的方法来表示:
int b[100];
int len = sizeof(b)/sizeof(b[0]);
这里定义的len即这个数组的位数(赋值过的),这里的b[0]代表的是一个整数占用的字节数,以它为单位,即可表示len的值,即整型数组的长度。
关于数组的初始化
此外,我们在定义一个数组时,经常需要初始化,或许是这样:
for(i=0;i<100;i++)
b[i]=0;
这一步是为了清空数组,当你定义一个新数组的时候,内存会给该数组分配地址,如果分配的地址以前使用过,就可能会产生数据垃圾,分配到数组中可能导致输出的时候乱码,可以用memset函数清空:
//memset函数的头文件#include<memory.h>
int b[100];
memset(b,0,100*sizeof(int));
char a[100];
memset(a,0,strlen(a));
注意,此函数对于整型数组只能清空数值为0,不能赋为其他的值,字符型数组可以赋初值为任意值,详见百度百科memset函数