簡體   English   中英

為數組結構成員賦值

[英]Assigning values to an array Structure member

我創建了一個 C 結構如下,

struct student{
int regNo;
char *name;
int age;
int marks[5]; 
};

然后我創建了一個學生 object 作為 S1 並嘗試將值一個一個地分配給結構成員。

struct student s1;
s1.regNo= 2312;
s1.name = "Andrew";
s1.age = 20;
s1.marks[5] = { 90,89,70,58,88};

但是,當我為標記的 int 數組賦值時,它會給我一個編譯錯誤,因為,

3.c: In function 'main':
3.c:18:16: error: expected expression before '{' token
s1.marks[] = { 90,89,70,58,88};

但是當我嘗試分別為每個索引分配值時,

s1.marks[0] = 90;
s1.marks[1] = 89;
s1.marks[2] = 70;
s1.marks[3] = 58;
s1.marks[4] = 88;

問題解決了。

我能否知道我在第一次嘗試中做錯了什么,我在一個 go 中為數組分配了值?

{90,89,70,58,88}是數組初始化器的一個示例。 只有在聲明變量時才有效,例如以下是有效的。

int array[5] = {90,89,70,58,88};

但這不是:

int array[5];
array = {90,89,70,58,88};

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM