1.6 C之 結構體、共用體、枚舉、宏定義、預處理

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

相關文章
相關標籤/搜索