linux中c char数组的的限制是多少?
因为要pingpong测试, 所以需要用到一个很大的数组, 于是发现在linux上的数组的大小有个最大限制, 我得到的限制是一个数组最多能有999999个元素, 超过这个限制, 就会报错: Segmentation fault.
下面是我的源程序和测试环境, 请知情者相告.
#include<stdio.h>
int main(int *argc, char *argv[])
{
printf("the argv[1] is :%s\n ", argv[1]);
long int array_size = (long int)atoi(argv[1]);
char my_array[array_size];
printf("the size of my_array is : %ld \n", sizeof(my_array));
}
**@compu:~/cProg$ ./myarray 9000000
the argv[1] is :9000000
Segmentation fault
测试环境:
Debian GNU/Linux 3.1 2.6.8-3
gcc version 3.3.5 (Debian 1:3.3.5-13)