const struct
意味? struct
とは異なりますか?
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
つまり、struct
は定数です。つまり、初期化された後はフィールドを編集できません。
const struct {
int x;
int y;
} foo = {10, 20};
foo.x = 5; //Error
EDIT: GrahamSは、constnessは変数のプロパティであり、この場合はfoo
であり、構造体の定義ではないことを正しく指摘しています。
struct Foo {
int x;
int y;
};
const struct Foo foo = {10, 20};
foo.x = 5; //Error
struct Foo baz = {10, 20};
baz.x = 5; //Ok
Const構造体は変更できないと思います。つまり、constとして宣言されている構造体のすべてのフィールドは変更できません。
Constは、編集不可宣言および初期化後の構造体のフィールドであり、can構造体からデータを取得することを意味します
Word定数自体が示す「定数」は、変更できないことを意味します。これは、あらゆるデータ型の変数に適用できます。構造体はユーザー定義のデータ型であり、構造体の変数にも適用されます。初期化されると、const変数の値は変更できません。