Массив переменной длины в области видимости файла?
У меня есть этот код, например.
#include
#include
#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;
}
Но я'хотел бы назначить"array_size"
на основе пользовательского ввода.
Если я попытаюсь это сделать, компилятор скажет"variably modified ‘array_size’ at file scope"
, Итак, я прав, что единственный способ сделать то, что я хочу, это переместить все в main () ..?
Работает просто отлично, но держитstructs and functions declarations
в объеме файла кажется, вы знаете, аккуратно.