Строка *array[cnt] = thing
вызывает ошибку seg, и я не знаю почему. Любые идеи, чтобы исправить это?C программируемые указатели массивов read file
long *Load_File(char *Filename, int *Size)
{
FILE *fp;
if((fp = fopen(Filename,"r")) == NULL)
{
printf("Cannot open file.\n");
exit(-1);
}
fscanf(fp,"%d",Size);
int cnt = 0;
int items = *Size;
long * array[items];
int thing;
while (!feof(fp))
{
fscanf(fp,"%d",&thing);
*array[cnt] = thing;
cnt++;
}
fclose(fp);
return *array;
}
Вы понимаете, почему это неправильно: 'long * pl; * pl = 42; '? –
OMG, В этом коде слишком много проблем, на которые нужно обратить внимание. В любом случае, я дам вам знать то, что вам нужно изучить (сразу), (1) Область переменных (2) Указатели и массивы, – Alphaneo