1.結構體
爲何須要結構體?什麼是結構體?變量+素組
在沒有結構體以前,起初最簡單的時候,只須要使用基本類型(int char float dooubt)來定義單個變量,須要幾個變量就定義幾個。後來狀況複雜了,有時候須要意義相關的變量(好比須要存儲一個班級的學生分數)這個時候數組就出現了。數組解決了須要不少類型相同、意義相關的變量的問題。可是數組是有限制的,數組最大的不足在於,一個數組只能存儲多個數據類型相同的變量。因此碰到剛要封裝幾個類型不一樣的變量的時候,數組就無能爲力了。這個時候就須要結構體。
什麼是結構體?
結構體是一個集合,就是一種裏面包含不少個元素,這些元素的數據類型能夠相同,也能夠不相同。因此結構體就是數據封裝的方法。
include<stdio.h>
//一、結構體類型的定義是在函數外邊,不是裏面
//二、結構體定義的是一個新的組合類型,而不是變量,也不消耗內存數組
struct student { char name[20]; //學生姓名 unsigned int num; //學號 int ismale; //性別 }; //這裏注意還有一個; int main(void) { struct student s1; //s1是一個變量,類型是struct student //給結構體變量賦值 s1.name[0]='J'; s2.name[1]='i'; s3.name[2]='m'; s4.name[3]='\0'; s1.num = 123 ; s1.ismale= 1 ; //打印檢驗 printf("s1.name = %s,s1.num = %d,s1.ismale = %d.\n",s1.name,s1.num,s1,ismale); return 0; }
數據結構:把龐大複雜的數據用必定的方式組織管理起來,便於操做(查找,增長,刪除等)這就叫數據結構。
結構體與數組關係:數組是一種特殊的結構體,特殊之處在於封裝的各個元素類型相同。數據結構
使用結構體的步驟:
第一步:定義結構體類型。結構體類型的定義是在函數外面(函數外面==全局)。
第二步:使用第一步的類型來定義結構體變量。
第三步:使用變量。實際上使用結構體變量的時候,使用的是結構體變量中封裝的各個子元素。ide