Можно ли инициализировать константную структуру без использования функции?

Asked
Viewd14586

12

У меня есть довольно простая константная структура в некотором коде C, которая просто содержит несколько указателей и хотела бы, если возможно, инициализировать ее статически. Могу ли я, и если да, то как?

14586

4 ответов

15

Можно, если указатели указывают на глобальные объекты:

 // In global scope
int x, y;
const struct {int *px, *py; } s = {&x, &y};
 
5
 const struct mytype  foo = {&var1, &var2};
 
1

Константная структура может быть только инициализирована статически.