Pour mes devoirs, je dois lire les données d'un fichier d'entrée et les stocker dans un tableau à deux dimensions, puis passer ce tableau à une autre fonction. Voilà ce que je l'ai essayé jusqu'à présent, mais je ne sais pas quand je l'appelle cette fonction principale, il donne l'erreur:tableau à deux dimensions comme valeur de retour
Access violation writing location 0x00000000.
J'ai essayé d'allouer dynamiquement la mémoire et lui donne la même erreur. Qu'est ce que je fais mal?
La dernière mise à jour du code:
#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]);
}
}
Cast est inutile. – md5
@Kirilenko - Oui, c'est inutile en C. Mais comme il a une distribution similaire dans son code d'origine, je pensais qu'il était en train de compiler en C++. – user93353