-
有幾種方法可以做到這一點:
1 使用建構函式。
在 C++ 中,struct 可以用作類,它還支援成員函式、建構函式和析構函式。 因此,您可以編寫相應的建構函式來實現自由初始化。
2 定義後,根據成員變數的位置寫入初始化列表。
如果結構測試中有成員 int a、char b 和 float c,則可以編寫初始化變數。
struct test t1 = ;
當初始化列表不完整時,省略的部分自動初始化為 0,即
struct test t1 = ;
和。 struct test t1 = ;
等效。 3 某些編譯器支援顯示成員變數初始化,例如 g++。
如。 struct test t1 = ;
未涉及的變數初始化為 0並非所有編譯器都支援此方法,當存在跨平台要求時,應謹慎使用。
-
C++ 中的結構可以和類基本一樣,只是結構的預設許可權是公共的,類的預設許可權是私有的,完全可以為結構編寫建構函式,但在 C 中則不行。
-
預設值設定為 0
sturct node aaa;
直接使用 memset(&aaa,0,sizeof(node));
-
是的,結構與類相同,只是預設屬性是私有的。
-
它可以在建構函式中設定,這取決於具體情況,希望。
-
當只有乙個指標時,可以將其設定為 null
-
第乙個問題可以初始化。
inflatable
a=;集合至少需要 1 個元素來初始化列表,並且名稱、卷和價格的所有位元組都初始化為 0
第二個問題結構包含字串
a;可以使用初始化列表對其進行初始化。
說充氣
a=compilation 函式:字串類建構函式有乙個建構函式,可以使用 = 公式初始化結構。
-
第乙個問題,不能像這樣初始化,是需要的。
inflatable
a=;集合中至少需要乙個元素作為初始化列表,專業人員會將名稱、數量和價格的所有位元組初始化為 0。
第二個問題是結構是否包含字串
a;然後,您無法使用初始化列表進行初始化。
換句話說。 inflatable
a= 不會編譯成功,因為 String 類有乙個建構函式,並且具有具有建構函式的成員的結構不能用 = 初始化。
-
您可以直接在定義後分配乙個值,例如:
struct player
player1=;
--也可以先定義,然後再分配,例如
struct player
player1,player2;
player1=;
player2=;
-
直接複製,或新增建構函式。
-
然後將物件宣告為 0
-
關鍵是。
直譯器的編譯方法。 根。
這是乙個字串
是乙個類。 在變數的結構中。
命名並執行兩者。
初始化,例如 candybar
snack=;
這部分工作由程式編譯並直接分配,在程式原始碼中。 直接操作由編譯器完成,編譯器不呼叫字串
構造 函式。 因此,記憶體中的字串品牌是乙個不確定的內容。
而對於"mocha
monch";在這種情況下,它是在程式執行時完成的,即字串建構函式。
申請記憶體並完成作業。
在編譯時,語法和型別沒有問題,所以它是正確的。
-
搜尋:C++ 希望將結構引數設定為預設引數。
-
在 CPP 中定義全域性變數。
const struct a;
然後在 h 中。
extern struct a;
-
結構也可以具有建構函式,可以在使用預設建構函式在新陣列時初始化建構函式。
如果希望成員具有初始值,則需要編寫建構函式,否則可以將 memset 初始化為 0。
a[100];
memset(&a, 0, sizeof(a));
-
1.編寫建構函式以提供預設值。
您使用的是 C++ 語法,而在 C++ 中,結構和類的使用是相同的,只有細微的差異,因此它可以具有建構函式。
2.分配你自己的值,以滿足你自己的初始需求,而不是建構函式方法
struct mystruct
class a
mystruct a::mystruct[10][1] = 這對於在類外分配值很好。
呼叫時:
int main()
-
struct 有乙個建構函式...
-
這句話:結構結構。
它本質上是一種 C 語言,建構函式本身如何並不重要。
當然,沒有預設建構函式。
它! 有害精神,建議阻止他!
-
如果使用 baistring,請在開頭新增 du include
然後是結構工人
以後,您可以像您一樣直接分配值。 如果要使用字串,則應在分配值時使用它。
strcpy() 函式。
-
初始化 C++ 結構變數。
與其他型別的變數一樣,您可以在定義結構變數時指定版本初始值。 如。
struct student
student1=;
char 型別的賦值與字串的賦值相同,因為它是多個字元,因此可以用雙引號括起來。 如。
shanghai"。
-
有兩種方法可以分配值,您需要選擇其中一種。
1.一種是淺拷貝(shallow copy),這樣你的J和x陣列指向的是同乙個東西,修改x陣列會對結構的內容產生影響。
malloc(sizeof(struct b));
j = x;
2.另一種是深度複製(deep copy),將內容移入其中。
malloc(sizeof(struct b));
j = malloc(sizeof(char)*20);
strcpy(>j, x);
-
在C++中,結構是乙個特殊的類,在宣告陣列時已經呼叫了建構函式,即物件已經建立並且不能為空。 建議使用額外的元素計數變數來標識實際使用的結構數。
或者向結構中新增乙個屬性,以確定該結構是否可用,並將其初始化為不可用。
-
將 null 迴圈到構成結構型別的各個物件感覺毫無意義,除非構成結構體的元素指向堆的指標可以節省一些空間。
-
以這種方式賦值結構沒有問題,但問題出在字串物件上,它不支援這種初始賦值。
將 name 的定義更改為 char name[20],這很好。
C語言結構定義:struct是結構關鍵字,tag是結構的符號,member-list是結構成員的列表,它必須列出它的所有成員; variable-list 是此結構宣告的變數。 >>>More
原因:因為你沒有在結構的末尾新增; ,那麼說明你的結構定義還沒有結束,那麼下面的主要功能就是你的結構了,所以會上報"定義中的型別過多"錯。 >>>More