C語言筆記04 結構體

2021-10-25 15:34:53 字數 1163 閱讀 1764

結構體定義:結構體裡面能定義除自己本身之外的任何資料型別,雖然不能定義自己本身,但能定義自身型別的指標變數。如:

struct node

訪問結構體內元素:

struct node

n1, *n2;

//普通變數訪問結構體元素方法('.')

n1.x;

n1.info;

n1.next;

//指標變數訪問結構體元素方法('.'或'->')

(*n2).x;

(*n2).info;

(*n2).next;

n2->x;

n2->info;

n2->next;

結構體初始化:

// c語言語法,逐個元素初始化,易理解,缺點是結構體內變數多時賦值麻煩

scanf("%d, %s", &n1.x, n1.info);

#include"stdio.h"

//c++語法,利用建構函式賦初值

struct studentinfo

//初始化id和gender

studentinfo(int _id, char _gender)

//建構函式的另一種形式(作用與上一建構函式相同)

//studentinfo(int _id, char _gender): id(_id), gender(_gender){}

}stu[10];

int main()

則此處會報錯

stu1.id=100;

stu1.gender='f';

for(int i=0;i<10;i++)

初始化}

for(int i=0;i<10;i++)

printf("student_100: id:%d, gender:%c\n", stu1.id, stu1.gender);

return 0;

}

小結:對結構體變數進行初始化時,一般採用c++的語法,利用建構函式對結構體進行初始化,這會使賦值變得更為簡潔,方便。建構函式不需要寫返回型別,且函式名與結構體相同,建構函式可以有多個,在使用建構函式時,要保證建構函式裡的引數與定義的構造函式引數個數對等,否則可能出現錯誤。

C語言筆記 結構體

在習慣複製貼上之後導致現在自己敲程式都成了問題。鏈結構體都不會敲了,於是痛定思痛,寫下這篇筆記,警示後 zi 人 ji 定義 struct 結構體名 一定要有分號,定義本身就是個語句的說例子 struct boo 定義名字是boo的結構體 和定義出一種新的型別差不多 上面這樣就定義出了個結構體,相當...

C語言筆記 結構體

第一種 只對結構體進行宣告 struct 結構體名 struct student 第二種 在宣告型別時同時定義變數 struct 結構體名字 變數名列表 struct student student1,student2 第三種 不指定型別名直接定義結構體型別變數 struct 變數名列表 struc...

C語言筆記 結構體

struct mystruct 結構體名 注意一定要加 這是基本格式,其餘的見 筆記 define crt secure no warnings include include struct student 結構體型別宣告,注意最後一定要加分號 intmain 結構體變數 列印要乙個乙個來 prin...