gpt4 book ai didi

c - 双维数组作为返回值

转载 作者:太空狗 更新时间:2023-10-29 15:27:05 27 4
gpt4 key购买 nike

对于我的家庭作业,我必须从输入文件中读取数据并将其存储在二维数组中,然后将此数组传递给另一个函数。这是我到目前为止尝试过的方法,但我不知道当我在 main 中调用这个函数时它给出了错误:

Access violation writing location 0x00000000.

我尝试过动态分配内存,但它给出了同样的错误。我做错了什么?

最后一次更新代码:

 #include<stdio.h>
#include<stdlib.h>

int *a[2];
void getData(void)
{
FILE *fp = fopen("input.txt", "r");
int number;

fscanf(fp, "%d", &number);


for (int i = 0; i < number; i++)
{
a[i]=(int*)malloc(number * sizeof (int));
fscanf(fp, "%d %d", &a[i][0], &a[i][1]);
}
fclose(fp);
}


int main()
{
getData();
for(int i=0;i<8;i++)
{
printf("%d %d\n",a[i][0],a[i][1]);
}
}

最佳答案

你需要为a分配内存

for循环之前

a = (int **)malloc(number * sizeof(int *))

关于c - 双维数组作为返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13333616/

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