C語言入門篇--初識結構體
1.為什么要有結構體
(1)之前int、char等類型描述的結構體非常單一,只可描述一種類型。
(2)數組也是描述同一類型的集合,只可描述一種類型。
(3)而結構體使得C語言可以描述復雜類型,比如學生類型( 包含學生的名字、年齡、性別、電話號等信息)。
結構體和數組的區(qū)別:
結構體:用來描述相同/不同數據元素類型的集合。
數組:用來描述具有相同數據元素類型的集合。
2.結構體的定義
2.1結構體類型的定義
格式:
struct Stu//結構體類型名字為struct Stu(struct Stu類似于int) { //結構體內容 char Name[20]; int Age; char Sex[5]; char Tel[12]; };//記著加;
注意:
(1)結構體類型的定義是在main函數外部。
(2)此處指定義了一個結構體類型,還未定義對應結構類型的變量,所以還未在內存中開辟空間。
2.2定義結構體普通變量及訪問
struct Stu Tom = { “Tom”, 13, “男”, “11122546698” };
//定義結構體普通變量并初始化,變量名為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" }; printf("%s,%d,%s,%s\n", Tom.Name, Tom.Age, Tom.Sex, Tom.Tel);//用變量名和結構成員運算符(.)訪問結構體。 return 0; }
2.3定義結構體指針變量及訪問
struct Stu *s = &Tom;
//定義結構體指針變量,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; //用結構體指針運算符->訪問(常用訪問方式) printf("%s,%d,%s,%s\n", s->Name, s->Age, s->Sex, s->Tel); //s為指針變量,*s對指針解引用,代表指針所指向的內容。 //而且用指針和結構成員運算符(.)訪問結構體時,由于結構成員運算符(.)比指針引用運算符(*)的優(yōu)先級高,必須代括號。 printf("%s,%d,%s,%s\n", (*s).Name, (*s).Age, (*s).Sex, (*s).Tel); return 0; }
以上就是C語言入門篇--理解結構體的詳細內容,更多關于C語言結構體的資料請關注腳本之家其它相關文章!
相關文章
C語言中break與continue的用法和區(qū)別詳解
當我們使用while或for循環(huán)時,如果想提前結束循環(huán)(在不滿足結束條件的情況下結束循環(huán)),可以使用break或continue關鍵字,這篇文章主要給大家介紹了關于C語言中break與continue的用法和區(qū)別的相關資料,需要的朋友可以參考下2021-10-10