Я нашел некоторый код, который получает размер структуры, как это:Что означает struct_type [1]?
sizeof(struct struct_type[1]);
я тестировал, и он делает вернуть размер struct_type
.
И
sizeof(struct struct_type[2]);
возвращается в два раза размер структуры.
Edit:
struct_type
это структура, а не массив:
struct struct_type {
int a;
int b;
};
Что struct_type[1]
на самом деле означает?
'struct_type' - это, вероятно, массив структур,' sizeof (struct struct_type [1]); 'получает размер первого элемента в массиве структур. – Caw
@iwin нет, это не аранжировка, любезно посмотрите мое обновление – Nik
Как вы объявляете массив 'struct_type'? Теперь подумайте, как получить размер этого массива по типу. Обычно это не очень хорошая практика, так как лучше взять объект 'sizeof', т. Е. Переменную или разыменовать указатель на тип. Таким образом, ваш код не сломается, если вы измените тип объекта. Другая проблема заключается в использовании целочисленной константы в коде (ака «магическое число»). Плохая практика, используйте '# define' (aka macro). – Olaf