数组的最大索引大小

1 arrays objective-c

以下代码崩溃了我的程序.我发现问题是数组的大小.如果我将尺寸减小到320*320,它可以正常工作.伤口是否有限制是否有意义?如果是这样,什么是解决方法?我正在使用Objective C for IPhone进行编码.任何帮助,将不胜感激.

谢谢!

 int life_matrix[320*350];
 x_size=320;
 y_size=350;
 for (int counter=0; counter < x_size; counter++)
 {
  for (int counter2=0;counter2 < (y_size); counter2++)
  {
   life_matrix[counter*(int)x_size+counter2] = rand()%2;
  }
 }
Run Code Online (Sandbox Code Playgroud)

lei*_*eiz 7

数组在堆栈上分配,通常堆栈大小有限.如果你需要一个大型数组,通常最好在堆上分配它.