好吧,我想用一个void函数初始化我的2D数组。但我得到了一个分割错误。。。
这是我的密码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void groupeetchoixgen(int*** choixGEN);
void main(int args, char **argv)
{
int** choixGEN;
int i,j;
choixGEN=(int**) malloc (sizeof(int*)*2);
for (i=0; i<3; i++)
{
choixGEN[i]=(int*) malloc (sizeof(int)*3);
}
groupeetchoixgen(&choixGEN);
}
void groupeetchoixgen(int*** choixGEN)
{
(*(choixGEN)[1])[0]=1;
}
我认为问题是(*(choixGEN)[1])[0]=1;
但我不知道为什么!
谢谢你的帮助
最佳答案
您只为两个(int*)
分配内存,但尝试引用choixGEN[0],choixGEN[1],choixGEN[2]
,即3
关于c - void函数中2D数组上的指针,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11585953/