gpt4 book ai didi

c - 为数组赋值时发生段错误

转载 作者:行者123 更新时间:2023-11-30 14:59:48 24 4
gpt4 key购买 nike

我正在尝试根据文件的行号设置数组的长度。我在 main 函数中声明了数组并传递给 setMatrix。

主要功能

    int x;
x=numberOfId();
int graph[x][x];
int path[x];
char *pathString[x];
setMatrix(graph,path,pathString,x);

setMatrix函数

void setMatrix(int **graph,int *path,char **pathString,int k){
int i,j;
for(i=1;i<k;i++){
for(j=1;j<k;j++){
graph[i][j]=INFINITY;//I get error here
}
}

我确信我犯了一个简单的错误,但我看不到。

最佳答案

函数定义应与数组匹配:

void setMatrix(int x, int graph[x][x], int path[x], char *pathString[x])
{

int x 必须位于第一个,以便它处于后面参数的范围内。可以使用指针表示法代替最内层数组边界,但它可以作为使用数组表示法的自文档。

数组和指针是不同的; int **int[x][x] 不同。

关于c - 为数组赋值时发生段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42518721/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com