C语言,分段错误
我试图用c语言创建一个简单的程序,当我启动这个程序时,我遇到了一个分段错误11 这是我的密码C语言,分段错误,c,C,我试图用c语言创建一个简单的程序,当我启动这个程序时,我遇到了一个分段错误11 这是我的密码 int main() { char** tab = NULL, i; tab = malloc(HAUTEUR * sizeof(char*)); for(i = 0; i < HAUTEUR; i++) tab[i] = malloc(LARGEUR * sizeof(char)); initialiseGrille(tab);
int main()
{
char** tab = NULL, i;
tab = malloc(HAUTEUR * sizeof(char*));
for(i = 0; i < HAUTEUR; i++)
tab[i] = malloc(LARGEUR * sizeof(char));
initialiseGrille(tab);
for(i = 0; i < HAUTEUR; i++)
free(tab[i]);
free(tab);
}
void initialiseGrille( char** aGrid)
{
for(int x=1; x <= 15; x++)
{
for(int y=1;y <= 10; y++)
{
aGrid[x][y] = ' ';
}
}
}
如果有人想纠正这个错误…C中的索引是基于零的,即使对于动态分配的数组也是如此。因此,该代码
for(int x=1; x <= 15; x++) {
for(int y=1;y <= 10; y++) {
aGrid[x][y] = ' ';
}
}
for(int x=1;xLARGEUR
和HAUTER
的值是多少?你能给我看一下#定义LARGEUR
和HAUTER
的常量吗?好的,我想问题在于我的分配,但我的朋友把豪特尔和LARGEUR的值颠倒了…XD非常感谢你帮我
for(int x=1; x <= 15; x++) {
for(int y=1;y <= 10; y++) {
aGrid[x][y] = ' ';
}
}
for(int x=0 ; x < HAUTEUR ; x++) {
for(int y=0 ; y < LARGEUR ; y++) {
aGrid[x][y] = ' ';
}
}