Часть const
действительно применяется к переменной, а не к самой структуре.
Например, @Andreas правильно говорит:
const struct {
int x;
int y;
} foo = {10, 20};
foo.x = 5; //Error
Но важно то, что переменная foo
является постоянным, а не само определение struct
.Вы могли бы также написать это как:
struct apoint {
int x;
int y;
};
const struct apoint foo = {10, 20};
foo.x = 5; // Error
struct apoint bar = {10, 20};
bar.x = 5; // Okay