C中不定长数组的使用
tt
posted @ 2007年8月07日 15:53
in C语言编程
, 9482 阅读
在Linux系统中,使用c时可以定义不定长数组,比如:
-
int n;
-
n=5;
-
double arr[n];
可以实现定义一个长度为5的数组,输出结果为40,说明数组大小为40个字节。
虽然可以用,但是我仍然建议不要这么用,在使用习惯了动态内存分配后,对其使用感到踏实,由于不知道其机理,而对这种新方式总感觉不太放心。我建议仍然使用下面的方式定义变长数组:
-
int n;
-
n=5;
-
double *arr=NULL;
-
arr = malloc(n*sizeof(double));
2008年4月09日 00:19 C 的变长数组是在 c99 中实现的,虽然 c99 还未被主流编译器完全支持,但只要你写的程序对 c90 或 gnu c 没有特殊依赖,完全可以使用 c99。
2008年4月09日 00:21 如果感兴趣,可以读读 http://www.ibm.com/developerworks/cn/linux/l-c99/index.html