有一个数组,C语言可以怎么样知道它的长度?

2024-11-29 16:50:39
推荐回答(3个)
回答1:

没有办法求出数组长度,只有自己时刻保存
没有数组的越界检查是C的一个很大问题,根本原因就是
数组在经过C编译后是以地址形式存储,根本就没有长度信息
有人说用以下方法
len=sizeof(a)/sizeof(int)
但这个LEN的值是编译器给的,你把他做成求数组长度的子函数根本行不通,你得到的是变量的长度

回答2:

strlen(abc)
abc为字符串变量名..
我举个例子啊:
#include
"string.h"
main(){
char
abc[]="fghsadfaser";
printf("%d",strlen(abc));
getch();
}
这就可以输出了..
反正就是strlen(字符串变量)

回答3:

动态数组可以使用动态内存分配来实现:
int*a[]
然后通过
sizeof(a)/sizeof(int*)
获得。
具体代码可能有出入,仅作思路说明。