Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 关于矩阵声明的SIGSEGV_C_Gcc_Matrix_Declaration_Segmentation Fault - Fatal编程技术网

C 关于矩阵声明的SIGSEGV

C 关于矩阵声明的SIGSEGV,c,gcc,matrix,declaration,segmentation-fault,C,Gcc,Matrix,Declaration,Segmentation Fault,当我的代码到达一个矩阵声明时,我得到了一个SIGSEGV,但我没有得到太多关于它的信息。这是我的代码: void mascaraLaPlace(unsigned char Img[1200][1200][3],int Rx,int Ry){ int x,y,a,b,c,d; int valorR,valorG,valorB; unsigned char copia[Rx][Ry][3]; for (y=0;y<Ry;y++){//operations} void睫毛膏(无

当我的代码到达一个矩阵声明时,我得到了一个SIGSEGV,但我没有得到太多关于它的信息。这是我的代码:

void mascaraLaPlace(unsigned char Img[1200][1200][3],int Rx,int Ry){
  int x,y,a,b,c,d;
  int valorR,valorG,valorB;
  unsigned char copia[Rx][Ry][3];
  for (y=0;y<Ry;y++){//operations}
void睫毛膏(无符号字符Img[1200][1200][3],整数Rx,整数Ry){
int x,y,a,b,c,d;
瓦洛尔,瓦洛格,瓦洛布;
未签名字符副本[Rx][Ry][3];

对于(y=0;y取决于Rx和Ry的值,你的数组对于堆栈来说可能太大。例如,如果它们都是2000,那大约是12兆字节,远远超过了OSs默认为堆栈保留的空间。

取决于Rx和Ry的值,你的数组对于堆栈来说可能太大。例如,如果它们都是2000,那么at大约是12兆字节,远远超过了OSs默认为堆栈保留的空间。

可能是一个有用的解释……可能是一个有用的解释……好吧,这似乎是个问题,因为我只检查了Rx和Ry的小值,一切正常。考虑到最大值m这两个值可以分别为1200,且矩阵的值保持在[0255]范围内?看看你的问题评论中链接的问题——答案很好。简言之——在堆上而不是堆栈上分配数组。好吧,这似乎是个问题,因为我只检查Rx和Ry的小值,一切正常。考虑到ma这两个值的最大值分别为1200,且矩阵的值在[0255]范围内?请看问题注释中链接的问题——答案很好。简言之,在堆而不是堆栈上分配数组。