C/C++中如何获取数组的长度?
1. 固定长度数组
1.1 C语言
C语言中,会用到宏定义define
#include<stdio.h>
#define getArrayLen(array,len) {len = sizeof(array)/sizeof(array[0]);}
int main()
{
int Array_Int[100];
int l;
getArrayLen(Array_Int,l);
printf("len:%d
",l);
}
1.2 C++
C++会用模版去得到数组大小,#include<iostream>
using namespace std;
template <class T>
int getArrayLen(T& array)
{
return (sizeof(array) / sizeof(array[0])); //注意存储字符串的字 符数组末尾有一个"/0"字符,需要去掉它 ,因此要return (sizeof(array) / sizeof(array[0]));
}
int main()
{
int Array_Int[100];
float Array_Float[100];
cout<<"int:"<<getArrayLen(Array_Int)<<endl;
cout<<"float:"<<getArrayLen(Array_Float)<<endl;
return 0;
}
1. 不定长度数组
不定长度数组,由于在运行时确定长度,需要自己及时维护。
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
