Tablica o zmiennej długości w zakresie plików?
Mam na przykład ten kod.
#include <stdlib.h>
#include <stdio.h>
#define array_size 3
typedef struct {
int array[array_size];
} TEST;
void printout(TEST *p, int element) {
printf("element: %i\n", p->array[element]);
}
int main(void) {
TEST *p;
p = malloc(sizeof(TEST));
p->array[0] = 5;
printout(p, 0);
return 0;
}
Ale chciałbym przydzielić"array_size"
na podstawie danych wprowadzonych przez użytkownika.
Jeśli spróbuję to zrobić, mówi kompilator"variably modified ‘array_size’ at file scope"
. Czy mam rację, że jedynym sposobem na zrobienie tego, co chcę, jest przeniesienie wszystkiego do main () ..?
Działa dobrze, ale zachowujestructs and functions declarations
w zakresie plików wydaje się, wiesz, schludny.