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\n",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. 不定长度数组
不定长度数组,由于在运行时确定长度,需要自己及时维护。
本文介绍如何在C和C++中获取固定长度数组的实际大小。对于C语言,使用宏定义结合sizeof运算符实现;而在C++中,则通过模板函数来完成相同的功能。文章还提到了不定长度数组的概念。
3068





