В настоящее время я изучаю c-массив и смущен тем, что может и не может использоваться для представления размера массива во время инициализации.
Правильно ли я предполагаю
#define SIZE 5
а также
const int SIZE = 5;
коренным образом отличаются друг от друга?
У них есть своя разница, и один конкретный пример, который меня смущает, - это
#define SIZE 5
int arr[SIZE] = {11, 22, 33, 44, 55};
действительный синтаксис, но
const int SIZE = 5;
int arr[SIZE] = {11, 22, 33, 44, 55};
Недопустимый синтаксис. Хотя интересно,
const int SIZE = 5;
int arr[SIZE];
действительный синтаксис.
Какова логика, является ли конкретный синтаксис действительным или недействительным?