Обратите внимание: этот вопрос не является дубликатом (одного массива элементов в структуре)
Следующий код извлекается из источника ядра Linux (версия: 3.14)
struct files_struct
{
atomic_t count;
struct fdtable __rcu *fdt;
struct fdtable fdtab;
spinlock_t file_lock ____cacheline_aligned_in_smp;
int next_fd;
unsigned long close_on_exec_init[1];
unsigned long open_fds_init[1];
struct file __rcu * fd_array[NR_OPEN_DEFAULT];
};
Мне просто интересно, почему close_on_exec_init
и open_fds_init
определяются как массивы, содержащие один элемент, а не только как unsigned long close_on_exec_init;
и unsigned long open_fds_init;
.