編程入門之結構體

  在C語言程序設計中,數組能夠將相同類型的元素封裝進一個邏輯實體中,經過數組名和數組下標訪問獨立的數據。而結構體能夠將不一樣類型的數據封裝進一個邏輯實體中,經過成員訪問運算符(.)訪問結構體成員。數組

1、結構體的定義:函數

  一、定義形式:struct  struct_lab{設計

          dataType  data1;指針

          dataType data2;內存

          ……程序設計

          dataType dataN;變量

        };程序

  二、定義元素:關鍵字struct必不可少;struct_lab若是結構體內部用不到,能夠省略;{……}內部不能所有省略;最後的‘;必不可少方法

  三、定義結構體變量:struct struct_lab struct1;     //定義結構體變量struct1,必須使用struct struct_lab修飾struct1標識符數據

  四、另類定義,使用typedef關鍵字實現類型定義,形式:

        typedef  struct  struct_lab{

          dataType  data1;

          dataType data2;

          ……

          dataType dataN;

        } structType;

  五、定義元素:除了關鍵字struct,必不可少;struct_lab若是結構體內部用不到,能夠省略;{……}內部不能所有省略;最後的';'必不可少以外,typedef關鍵字也是必不可少,strucType是結構體的類型定義;

  六、定義結構體變量:structType struct1;       //定義結構體變量struct1,將structType當成一種新的類型定義使用

  七、定義結構體指針變量:structType *ptrStruct1;   //定義結構體指針變量ptrStruct1,將structType當成一種新的類型定義使用
 
 
2、結構體的成員訪問:
  一、普通結構體變量的成員訪問使用成員變量符訪問成員便可,例如:struct1.data1 = 1;
  二、結構體指針變量的成員訪問可使用成員變量符訪問成員,例如:(*ptrStruct1).data
  三、結構體指針變量的成員訪問也可使用指針成員變量符訪問成員,例如:ptrStruct1->data,這種方法用的最多
 
3、結構體的應用:
  一、結構體中的每一個成員都有本身的內存空間,若是成員中使用了指針變量,必定要先行分配內存;
  二、在表達式中使用結構體;
  三、能夠定義結構體變量;
  四、能夠定義結構體數組;
  五、能夠定義結構體指針;
  六、能夠定義結構體指針數組;
  七、函數能夠返回結構體類型數據;
  八、函數能夠將結構體類型數據做爲型參;
 
4、結構體附加:
  一、結構體中能夠包含基本類型的數據;
  二、結構體中能夠包含指針類型的數據(普通變量指針、數組指針、結構體指針、聯合體指針、枚舉指針、指針的指針);
  三、結構體中能夠包含符合類型的數據(數組,結構體、聯合體、枚舉等)
相關文章
相關標籤/搜索