一、學習目標
- 了解C語言的結構體的使用方法
- 了解C語言結構體的結構的賦值
- 了解多種C語言結構體變數的賦值方法和取值方法
目錄
第一篇:(一)脫離學習誤區
第二篇:(二)C語言沒那么難簡單開發帶你了解流程
第三篇:(三)輕輕松松理解第一個C語言程式
第四篇:(四)語言的基本資料型別及變數
第五篇:(五)C語言的變數、常量及運算
第六篇:(六)輕輕松松了解C語言的邏輯運算
第七篇:(七)C語言的回圈分分鐘上手
第八篇:(八)了解基本陣列還不是那么簡單
第九篇:(九)C語言二維陣列與回圈嵌套
第十篇:(十)C語言的指標原來是這樣
第十一篇:(十一)C語言自定義函式真的很簡單
推薦
歡迎大家關注公眾號,公眾號每滿1024及1024倍數則會抽獎贈送機械鍵盤一份+IT書籍2份喲~

二、了解結構體的使用方法
C語言沒有一些其它高級語言中的面向物件概念,如果你是新手的話知道這個專業術語即可,在之后的不斷深入學習中早晚會遇見;為什么我把C語言的結構體與面向物件做一個比較?因為他們之間有一定的相似度,這是一個很重要的概念,
2.1 什么是C語言結構體
在學習C語言結構體前我們需要知道C語言結構體是什么東西,形式是如何的,它的核心的組成思想是什么,
結構體簡單的來說是一個資料的型別,跟int整型、char字符型型別一樣,都是一種資料型別,在此別糾結它具體是什么,畢竟還沒深入學,在此只要知道它也是資料型別即可,結構體是一種資料型別但它與int整型、char字符型資料不同之處是需要我們自己撰寫它的一個資料結構(這個資料結構是單純意義上的資料組成),結構體是有多個或其它數量的資料型別組成的一種結構,其它數量的資料型別可以是整形、字符型等,
由上所述我們可以知道,結構體是一個變數,但是這個變數需要我們自己去撰寫它的資料構成,這些資料構成是一些資料型別的變數,
我們看一下結構體示例:
struct human{
int age;
char sex;
char name;
} ;
結構體使用struct 進行宣告,struct 后接的一對花括號,花括號中撰寫這個結構體所包含的變數有哪些,并且使用分號表示結構體內變數的結束;在struct之后花括號之前為結構體名,結構體名與變數名類似,
以上的結構體所包含的變數有整形變數age,字符變數sex以及字符變數name,名稱為human;結構體我們可以看為是一個類別,該類別的組成元素有哪些,
以上結構體名為human中文譯為人類,那么一個人有哪些屬性呢?首先有年齡是一個整數資料,所以我在結構體中撰寫一個整數型別的變數age;人類還有性別,我在human結構體中使用sex表示說明并且也定義了一個char型別的變數name用于存盤人類的名稱代號,從以上所述可以很清楚的知道當前結構體human的一個組成,
注意:花括號末尾需要分號表示結束,
2.2 結構體的使用
在以上內容中重點強調了結構體是一個型別,那么一個型別的變數如何進行宣告創建?例如int型別定義一個變數a為 int a;,那么結構體就可以寫成 結構體名 變數;,這樣寫是錯的,必須在結構體名前添加一個 struct關鍵字,表示接下來我所宣告的變數為結構體: struct 結構體名 變數;,代碼示例為:
#include<stdio.h>
void main(){
struct human{
int age;
char sex;
char name;
} ;
struct human xiaoming;
}
以上示例中定義了一個名為human的結構體,隨后根據這個結構體創建了一個xiaoming的結構體變數,
創建完結構體變數后我們需要對這個結構體變數進行賦值,賦值使用點運算子“.”,可以將這個點當作“的”使用,例如我需要為xiaoming增加一個年齡,那么就可以使用xiaoming后接一個點,表示小明的什么元素要賦值多少,可以寫成:
xiaoming.age=10;
同樣,其它的元素都可以這樣去進行賦值,我們稱這些元素為成員變數,其它成員變數的賦值:
xiaoming.sex='T';
xiaoming.name='M';
在此我賦值性別為男,用T表示,小明的名字用M表示,
那賦值完畢后如何進行取值呢?取值的方式很簡單,也是使用點運算子:
xiaoming.age
我們賦值完畢后輸出內容查看一下是否成功:
#include<stdio.h>
void main(){
struct human{
int age;
char sex;
char name;
} ;
struct human xiaoming;
xiaoming.age=10;
xiaoming.sex='T';
xiaoming.name='M';
printf(" age 為:%d\n",xiaoming.age);
printf(" sex 為:%d\n",xiaoming.sex);
printf(" name 為:%d\n",xiaoming.name);
}
運行結果如下:

結構體也可以直接在撰寫的時候直接創建結構體變數:
struct human{
int age;
char sex;
char name;
} xiaoming;
以上代碼中直接在結構體末尾花括號之后,結束分號前創建了一個結構體變數,整體代碼:
#include<stdio.h>
void main(){
struct human{
int age;
char sex;
char name;
} xiaoming;
xiaoming.age=10;
xiaoming.sex='T';
xiaoming.name='M';
printf(" age 為:%d\n",xiaoming.age);
printf(" sex 為:%d\n",xiaoming.sex);
printf(" name 為:%d\n",xiaoming.name);
}
運行結果均為一致,也可以創建多個結構體變數:
#include<stdio.h>
void main(){
struct human{
int age;
char sex;
char name;
} xiaoming,xiaohong;
xiaoming.age=10;
xiaoming.sex='T';
xiaoming.name='M';
xiaohong.age=11;
xiaohong.sex='M';
xiaohong.name='H';
printf("xiaohong age 為:%d\n",xiaoming.age);
printf("xiaohong sex 為:%d\n",xiaoming.sex);
printf("xiaohong name 為:%d\n",xiaoming.name);
}
運行結果為:

也可以在直接創建結構體變數的時候賦值:
struct human{
int age;
char sex;
char name;
} xiaoming={10,'T','M'},xiaohong;
賦值在變數名后使用一個等于號,值使用一對花括號,花括號內撰寫不同的值,并且用逗號進行分隔;也可以同時賦值2個結構體變數:
struct human{
int age;
char sex;
char name;
} xiaoming={10,'T','M'},xiaohong={1,'M','H'};
整體代碼為:
#include<stdio.h>
void main(){
struct human{
int age;
char sex;
char name;
} xiaoming={10,'T','M'},xiaohong={1,'M','H'};
printf("xiaoming age 為:%d\n",xiaoming.age);
printf("xiaoming sex 為:%d\n",xiaoming.sex);
printf("xiaoming name 為:%d\n\n",xiaoming.name);
printf("xiaohong age 為:%d\n",xiaohong.age);
printf("xiaohong sex 為:%d\n",xiaohong.sex);
printf("xiaohong name 為:%d\n",xiaohong.name);
}
運行結果為:

三、總結
- 了解C語言的結構體的的結構是一組不同型別資料的組合
- 了解C語言結構體的結構的賦值是使用點運算子對內的成員變數進行賦值
- 了解了多種結構體變數的賦值方法和取值方法,賦值可以在新建時賦值也可以在之后賦值,取值使用點運算子進行取值
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/202600.html
標籤:其他
