C語言入門篇--初識結(jié)構(gòu)體
1.為什么要有結(jié)構(gòu)體
(1)之前int、char等類型描述的結(jié)構(gòu)體非常單一,只可描述一種類型。
(2)數(shù)組也是描述同一類型的集合,只可描述一種類型。
(3)而結(jié)構(gòu)體使得C語言可以描述復(fù)雜類型,比如學(xué)生類型( 包含學(xué)生的名字、年齡、性別、電話號等信息)。
結(jié)構(gòu)體和數(shù)組的區(qū)別:
結(jié)構(gòu)體:用來描述相同/不同數(shù)據(jù)元素類型的集合。
數(shù)組:用來描述具有相同數(shù)據(jù)元素類型的集合。
2.結(jié)構(gòu)體的定義
2.1結(jié)構(gòu)體類型的定義
格式:
struct Stu//結(jié)構(gòu)體類型名字為struct Stu(struct Stu類似于int)
{
//結(jié)構(gòu)體內(nèi)容
char Name[20];
int Age;
char Sex[5];
char Tel[12];
};//記著加;
注意:
(1)結(jié)構(gòu)體類型的定義是在main函數(shù)外部。
(2)此處指定義了一個結(jié)構(gòu)體類型,還未定義對應(yīng)結(jié)構(gòu)類型的變量,所以還未在內(nèi)存中開辟空間。
2.2定義結(jié)構(gòu)體普通變量及訪問
struct Stu Tom = { “Tom”, 13, “男”, “11122546698” };
//定義結(jié)構(gòu)體普通變量并初始化,變量名為Tom,用變量名訪問結(jié)構(gòu)體。
#include <stdio.h>
struct Stu
{
char Name[20];//名字
int Age; //年齡
char Sex[5];//性別
char Tel[12];//電話號
};
int main()
{
struct Stu Tom = { "Tom", 13, "男", "11122546698" };
printf("%s,%d,%s,%s\n", Tom.Name, Tom.Age, Tom.Sex, Tom.Tel);//用變量名和結(jié)構(gòu)成員運算符(.)訪問結(jié)構(gòu)體。
return 0;
}

2.3定義結(jié)構(gòu)體指針變量及訪問
struct Stu *s = &Tom;
//定義結(jié)構(gòu)體指針變量,s指向Tom,有如下兩種訪問方式。
#include <stdio.h>
struct Stu
{
char Name[20];//名字
int Age; //年齡
char Sex[5];//性別
char Tel[12];//電話號
};
int main()
{
struct Stu Tom = { "Tom", 13, "男", "11122546698" };
struct Stu *s = &Tom;
//用結(jié)構(gòu)體指針運算符->訪問(常用訪問方式)
printf("%s,%d,%s,%s\n", s->Name, s->Age, s->Sex, s->Tel);
//s為指針變量,*s對指針解引用,代表指針?biāo)赶虻膬?nèi)容。
//而且用指針和結(jié)構(gòu)成員運算符(.)訪問結(jié)構(gòu)體時,由于結(jié)構(gòu)成員運算符(.)比指針引用運算符(*)的優(yōu)先級高,必須代括號。
printf("%s,%d,%s,%s\n", (*s).Name, (*s).Age, (*s).Sex, (*s).Tel);
return 0;
}

以上就是C語言入門篇--理解結(jié)構(gòu)體的詳細(xì)內(nèi)容,更多關(guān)于C語言結(jié)構(gòu)體的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
C/C++中for語句循環(huán)用法以及練習(xí)舉例
for語句是一種循環(huán)語句,它是對while語句的推廣,下面這篇文章主要給大家介紹了關(guān)于C/C++中for語句循環(huán)用法以及練習(xí)舉例的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-03-03
Qt數(shù)據(jù)庫應(yīng)用之實現(xiàn)文件編碼格式識別
在做數(shù)據(jù)導(dǎo)入導(dǎo)出的過程中,如果應(yīng)用場景多了,相信各位都會遇到一個問題就是文件編碼的問題。本文將用Qt實現(xiàn)文件編碼格式識別,感興趣的可以了解一下2022-06-06
c++調(diào)用實現(xiàn)yolov5轉(zhuǎn)onnx介紹
大家好,本篇文章主要講的是c++調(diào)用實現(xiàn)yolov5轉(zhuǎn)onnx介紹,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12
基于Matlab實現(xiàn)野狗優(yōu)化算法的示例代碼
野狗優(yōu)化算法(Dingo?Optimization?Algorithm,?DOA)模仿澳大利亞野狗的社交行為。DOA算法的靈感來源于野狗的狩獵策略,即迫害攻擊、分組策略和食腐行為。本文將通過Matlab實現(xiàn)這一算法,感興趣的可以了解一下2022-04-04

