C/C++中如何获取数组的长度?

 我来答
花紊甘7
2013-11-03 · 超过66用户采纳过TA的回答
知道答主
回答量:130
采纳率:33%
帮助的人:59.9万
展开全部
以下是两个Demo程序,一个C语言的,一个C++的:P.S:若数组为存储 字符串的字符数组,则所求得的长度还需要减一,即对于宏定义: #define GET_ARRAY_LEN(array,len) {len = (sizeof(array) / sizeof(array[0]) - 1 );} ,对于函数定义:template int getArrayLen(T& array){return (sizeof(array) / sizeof(array[0]) - 1);}原因为存储字符串的字 符数组末尾有一个'\0'字符,需要去掉它。【C语言】#include #include #define GET_ARRAY_LEN(array,len){len = (sizeof(array) / sizeof(array[0]));}//定义一个带参数的 宏,将数组长度存储在变量len中int main(){char a[] = {'1','2','3','4'};int len;GET_ARRAY_LEN(a,len)//调用预定义的宏,取得数组a的长度,并将其存储在变量len中printf("%d\n",len);system("pause");return 0;}【C++】#include using namespace std;template int getArrayLen(T& array){//使用模板定义一 个函数getArrayLen,该函数将返回数组array的长度return (sizeof(array) / sizeof(array[0]));}int main(){char a[] = {'1','2','3'};cout
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式