具体步骤
在C++和C语言中,并没有提供直接获得数组长度的方法,不过我们可以间接获得数组的长度,这主要依赖于C/C++提供的sizeof()
函数,利用这个函数,我们可以得到指定数组的总字节数,也可以得到指定类型的字节数(如int类型的为4个字节),具体的操作过程如下:
- 首先获取数组所占的总字节数:
array_bytes=sizeof(数组名);
- 获取该数组中一个元素所占的字节数(由于元素类型唯一,也就是该种类型的元素所占的字节数):
type_len=sizeof(类型名);
- 然后将两者相除,即可得到指定数组的长度:
array_len=array_bytes/type_len;
注: 对于字符数组,首先,需要说明的是,一个汉字需要占用两个字节存储,而在C++的字符数组中,一个汉字也占两个长度,这点需要注意。
实例:
//实例1:求取字符串数组的长度
string str[49];
int length=sizeof(str)/sizeof(string); //结果为49
//实例2:获取浮点数数组的长度
float fl[32];
int length = sizeof(fl)/sizeof(float); //结果为32
//实例3:获取字符数组的长度
char ch[19];
int length = sizeof(ch)/sizeof(char); //结果为19