const struct
是什麼意思?它與struct
不同嗎?'const struct'與'struct'有什麼不同?
30
A
回答
57
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
17
這意味着struct
是恆定的,即在初始化後您不能編輯它的字段。
const struct {
int x;
int y;
} foo = {10, 20};
foo.x = 5; //Error
編輯:格雷厄姆正確地指出的常量性是可變的屬性,在這種情況下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
-1
我認爲,一個const結構不能被修改。換句話說,被聲明爲const的struct的所有字段都是不可修改的。
+4
這到底是什麼意思是「我相信」?如果你不合格,不要回答。留下猜測的評論,不是嗎? – nbro 2016-03-19 15:42:50
0
常量意味着你不能編輯的聲明和初始化後的結構領域,你可以檢索數據形成結構
0
「常量」作爲每個詞不斷本身就說明是指不可修改。這可以應用於任何數據類型的變量。 struct是用戶定義的數據類型,它也適用於任何結構的變量。初始化後,const變量的值不能被修改。
-1
你不能修改常量結構,第一個結構是一個簡單的數據類型,因此,當一個const關鍵字來時,編譯器會舉行一個寄存器的存儲空間,而比臨時存儲(比如RAM)和存儲在寄存器上的變量標識符不可修改
相關問題
- 1. const struct {x} vs struct {const x}
- 2. typedef const struct * CGPath和typedef struct * CGPath有什麼區別?
- 3. Const Struct&
- 4. const C Struct數組struct struct數組
- 5. 爲什麼struct struct cdev有kobject成員?
- 6. 「struct a a1 = {0};」不同於「struct a a2 = {5};」爲什麼?
- 7. `struct ioctl`在`struct tty_driver`中做了什麼?
- 8. 'struct X typedef`與`typedef struct X`是什麼意思?
- 9. struct struct
- 10. 什麼是「struct file_operations」參數?
- 11. 什麼是C中的struct?
- 12. 爲什麼Linux內核具有`struct sock`和`struct socket`?
- 13. struct node和struct node *之間的' - >'有什麼區別?
- 14. struct node * head和struct node ** head有什麼區別?
- 15. `typedef struct X {}`和`typedef struct {} X`有什麼區別?
- 16. 爲什麼struct hostent中的h_addr_list是char **而不是struct in_addr **?
- 17. 爲什麼struct的sizeof與其成員之和不同?
- 18. QT/mingw - struct struct
- 19. struct和:: - 它做什麼
- 20. 爲什麼靜態const char *模板struct成員未初始化
- 21. struct和dict有什麼區別?
- 22. struct {.attr = value}語法是什麼意思?
- 23. 不同類型的struct
- 24. 一個模板的靜態const成員的不同值struct
- 25. c - struct - 額外的「:1」在做什麼?
- 26. 「struct node * temp」和「struct node *&temp」之間的區別是什麼?
- 27. Go中的new(Struct)和&Struct {}之間的區別是什麼?
- 28. 爲什麼打開調用兩個參數(struct inode *,struct file *)?
- 29. 爲什麼我不能在C#中的struct中具有相同的struct type屬性?
- 30. struct
乾杯。我能爲我的觀察獲得+1嗎? :D – GrahamS 2010-11-24 13:29:58
當然,在這裏你去;) – 2010-11-24 13:39:52