C語言結構體的定義和用法,定義結構體,定義結構體變量,結構體變量賦初值,輸出結構體變量的值

結構體

一、什麼是結構體:

1、不同類型的變量集合被稱爲結構體
2、結構體的目的是爲了描述一個對象,爲了把一個對象描述清除必須要所出這個對象的很多屬性,而爲了表示這些屬性就要用到不同的變量,而且變量不止一個。

二、如何來定義結構體:

1、定義結構體
格式:

struct 結構體{
	屬性列表 
};

比如:定義一個結果體,目的是爲了描述一個工人

struct worker {
	char id[10];
	char name[10];
	char sex[10];
	int pay;	
}

2、如何來定義結構體變量

1)上方那樣定義的只是結構體的類型,並不是變量

比如:

int a;//其中int 是類型  而a是變量

2)在C程序裏面有幾種類型是C已經爲我們做好的,我們只要拿來使用就行了,但是結構體類型在C程序裏面沒有,就需要用戶自己來定義。

3)下方程序當中struct worker是定義的類型

struct worker {
	char id[10];
	char name[10];
	char sex[10];
	int pay;	
}

在這裏插入圖片描述

4)定義結構體變量有三種方式
(a)在定義類型的時候就定義結構體變量,這樣的變量就相當於全局變量。
(b)在定義結構體類型之後,再定義結構體變量。
(c)可以在定義結構體類型 的時候,省略結構體類型名 (一般不用)

 struct {//定義結構體類型 
	char id[10];//定義工號
	char name[10];//定義姓名
	char sex[10];//定義性別
	int pay;//定義基本工資
},wi,w2;//此處的分號不能少

(d)可以通過typedfed這個關鍵字,爲結構體變量取別名別名一般用大寫

在這裏插入圖片描述

三、如何給結構體變量賦初值

在這裏插入圖片描述

四、如何來輸出結構體變量的值

1、由於結構體變量裏面會包含有很多的屬性,所以在輸出時,一定要分別輸出,不能整體輸出
2、結構體變量名.成員

#include<stdio.h> 
typedef struct worker{//定義結構體類型 
	char id[10];//定義工號
	char name[10];//定義姓名
	char sex[10];//定義性別
	int pay;//定義基本工資
}WOR;//此處的分號不能少
void main(){
	WOR w1={"0001","狄文傑","男",1200},w2={"0002","張三丰","女",500},w3;//w1和w2它們的屬性相同但是屬性值不相同。 
	printf("%s,%s,%s,%d",w1.id,w1.name,w1.sex,w1.pay);//只能夠分別輸出不能夠整體輸出 
} 

在這裏插入圖片描述
以下賦值方式也是可以的


//一個一個的將w1的值賦值給w3 
	w3.id=w1.id;
	w3.name=w1.name;
	w3.pay=w1.pay;
	w3.sex=w1.sex;

3、結構體變量雖然不能整體輸出,但是可以整體賦值
在這裏插入圖片描述


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章