-
這絕對行不通,讓我們看看記憶體分配 A 只是乙個位元組和占用 20 個位元組的名稱是如何匹配的。
或者將值分配給 cities[0]。name[0]= ‘a'; .
-
你必須分配乙個這樣的值,當你宣告它時,你必須像這樣分配它。
city cities[2]=,};
-
我的也不能,為什麼。
-
房東,剛學過C語言吧? 中英文分號打錯,變數語句不正確,找一本譚浩強的書,仔細閱讀。 你現在問這個問題,問自己......
-
在設定初始值時,可以重新定義結構初始化,例如:
struct
student
int num;
char name[20];
student1 =
10001,"zhangxin"};
它還可以採用獨立於定義變數的宣告型別的形式,該宣告型別在定義變數時初始化:
student student1 =
10001,"zhangxin"}
在 C 中,struct 指的是資料結構,它是 C 中的聚合資料型別
型別)。
結構可以宣告為變數、指標、陣列等,以實現更複雜的資料結構。 結構也是稱為結構成員的元素的集合,這些成員可以是不同的型別,並且成員通常按名稱訪問。
-
方法是定義變數並給它乙個初始值。 結構變數的初始化遵循相同的規則。
簡單變數的初始化方式如下:
資料型別 變數 name = 初始化值;
例如,定義整數變數 a 並使用值 10 對其進行初始化,如下所示。
int a=10;
要初始化陣列,您需要通過常量資料列表單獨初始化陣列元素,格式如下:
資料型別 陣列名稱 陣列長度 =;
例如,定義長度為 5 的整數陣列並將其初始化的語句如下所示:
int a[5]=;
結構變數的初始化方式與陣列類似,分別為結構的成員變數提供初始值,而結構成員變數的初始化方式遵循簡單變數或陣列的初始化方法。 具體形式如下:
struct 結構識別符號。
struct struct identifier 變數名 =;
例如,定義乙個 struct point 型別的變數,並使用以下語句對其進行初始化:
struct point op1=;
結構點型別變數 op1 的三個成員變數的值分別為。
由於定義結構變數的方法有三種,所以初始化結構變數的方法有三種,其中一種在上面已經描述過了,另外兩種如下:
struct point
op1=; struct
op1=;初始化結構變數時,可以初始化其所有成員變數,也可以僅初始化其部分成員變數。 例如:
struct student
a= ;它相當於;;。
只初始化部分成員變數,至少需要乙個初始化資料,系統完成其他成員變數的初始化,無需初始化,為其提供預設初始化值。
-
在設定初始值時,可以重新定義結構初始化,例如:
struct student
student1 = ;
它還可以採用獨立於定義變數的宣告型別的形式,該宣告型別在定義變數時初始化:
student student1 =
-
當我初始化乙個陣列時,首先想到的是初始化它們:
for(int i=0;i<100;i++)a[i[=0;
這樣一來,感覺太浪費了,一共執行了100次賦值操作,還記得說“陣列的自動賦值日曆檔案未賦值是0”,所以輸出不初始化就進行:
輸出時出現亂碼。 可以看出,系統沒有自動賦值。
然後手動分配乙個錯誤的程式碼 0:
它已經全部為 0,我正在嘗試為前幾個分配值:
已賦值的值是正確的值,未賦值的值自動為 0
不知道這個預設作業是不是也和我寫了100遍的作業效率一樣,但是肢體亂七八糟的總是少一些。
不知道是不是編譯器問題,其他編譯器也是這樣嗎?
將來,為了安全起見,最好執行每項任務。