У меня есть массив нулевой ячейки, и я хочу его размер. мой код:C программирование - размер массива
#include <stdio.h>
#include <string.h>
#include <stdint.h>
typedef struct ts_ff {
uint8_t reserved[0];
} TS_fact;
int main(void) {
TS_fact ts_factory;
printf("size of reserved is %zu Bytes\n",sizeof(ts_factory));
return 0;
}
Но возвращение этого кода возврата 0 Bytes не 1 байт для этой ячейки массива.
size of reserved is 0 Bytes
Почему компилятор это делает?
Одна ячейка? Я вижу нулевые ячейки. – gnasher729
* массив одной ячейки * => Где? –
ОК. SO, почему я могу использовать ts_factory.reserved [0] = 12; например. И я могу использовать эту ячейку. Компилятор влияет на значение без ошибок. –