У меня есть следующий фрагмент кода:типа массив имеет неполный тип элемента, когда определить тип данных нового
#include <stdio.h>
int main(void) {
typedef int new_type[];
new_type Number[8];
return 0;
}
Компилятор (Gcc- 4.9.2) показывает ошибку: типа массив имеет незавершенный элемент типа.
У меня есть некоторые вопросы:
1. Является ли определение new_type
через typedef принятым стандартом C90? В этом случае new_type
является типом данных, который определяет массив неопределенного числа элементов или указатель для массива int
?
2.Если мы сохраняем строку typedef int new_type[];
, как мы можем определить переменную типа new_type
? Благодарим вас за помощь.
Насколько велик «номер»? Он имеет 8 элементов, но элементы представляют собой массивы неопределенного размера. Это невозможно выделить. – ikegami
Примечание: 'typedef' в локальной области не очень полезен. И какая цель массив-'typedef' неопределенного размера был бы хорош для очень сомнительной. – Olaf
Почему бы не использовать 'typedef int my_int; my_int a [8]; '? (имеют 'typedef' в области файлов). – Olaf