C語言結構體

2021-09-11 08:40:51 字數 2413 閱讀 1544

結構體是一種構造資料型別

有三種形式:資料型別、結構體型別(struct)、共用體型別(union)

一般形式:

struct [結構體名]

;//牢記還有乙個分號

1、基本結構體

1.1、定義結構體型別變數的3種方法

1.1.1、先定義結構體型別+再定義變數名

例題:

struct student

;struct student stu1,stu2;

1.1.2、定義結構體型別+同時定義結構體型別變數

例題:

struct student

stu1,stu2;

1.1.3、直接定義結構體型別變數

例題:

struct

stu1,stu2;

1.2、結構體變數的初始化

格式:結構體型別 結構體變數名=;

方法一:

struct student

stu=;

方法二:

struct student

;struct student

stu=;

1.3、結構體變數的引用

1.3.1、結構體型別資料成員的引用

引用規則:結構體變數出同型別賦值外,不能整體引用,只能引用變數成員

引用方式: 結構體變數名.成員變數

stu.name = 「zhangjin」;

1.3.2、求結構體型別資料的位元組數

sizeof(變數名或型別名);

1.3.3、巢狀結構體中成員的引用

結構體巢狀時,逐級引用

struct student

birthday;

}stu1,stu2;

//給出生日期的年份賦值

stu1.birthday.year = 1999;

2、結構體陣列

2.1 結構體陣列的定義及初始化

2.1.1結構體陣列的定義,與定義結構體型別變數很類似,也有三種形式

形式一:

struct student

;struct student stu[2];

形式二:

struct student

stu[2];

形式三:

struct

stu[2];

2.1.2 結構體陣列的引用

struct student

str[3]=};

str[1]=str[0];

2.1.3、結構體陣列元素成員的引用

引用方式: 結構體陣列名[下標].成員名

struct student

str[3];

stu[1].age++;

strcpy(stu[0].name,」zhangsan」);

3、結構體和指標

3.1 結構體指標變數的定義

定義形式:struct 結構體名 *結構體指標名;

struct student * p;

//此時指標變數*p中存放的是–結構體變數在記憶體的起始位址

//例:

struct student

stu;

struct student *p=&stu;

3.2 結構體指標變數的引用

使用結構體指標變數引用成員形式

(*結構體指標變數名).成員名<=>結構體指標變數名->成員名<=>結構體變數名.成員名

例題:

int n;

int *p = &n;

*p = 10; <=> n = 10;

struct student

stu1;

struct student *p = &stu1;

stu1.num=101; <=> (*p).num=101; <=> p->num=101;

感謝博主的部落格,讓我們有學習的機會!謝謝!推薦》

C語言結構體

1.1.1 結構概念 1 結構存在的意義 存在是合理的,許多事物的存在是在不斷解決問題引入的,當然有更好的方法出現時改變也是合理的。在實際問題中,一組資料往往具有不同的資料型別。例如,在學生登記表中,姓名應為字元型,學號可為整型或字元型,年齡應為整型,性別應為字元型,成績可為整型或實型。顯然不能用乙...

C語言 結構體

宣告乙個結構體型別 struct 結構體名 成員表列 定義結構體變數的方法 1 先宣告結構體型別再定義變數名。在定義了結構體變數後,系統會為之分配記憶體單元.例如 struct student student1,student2 2 在宣告型別的同時定義變數,例如 struct 結構體名 成員表列 ...

c語言 結構體

1 定義結構體 c語言允許使用者自己建立不同型別資料組成的組合型的資料結構 struct 結構體名 1 結構體的型別不是只有一種,可以根據需要設計許多種,如struct student struct worker等 2 結構體的成員可以是另一結構體的成員,注意的是引用此成員的方式 2 定義結構體變數...