C語言學習-結構體(struct)數據類型


------------本節內容開始------------

  • 結構體數據類型概念:

  結構體是一種數據類型,屬於一種構造類型,它是由若干個成員組成,每個成員可以是基本的數據類型,

也可以是構造類型。由於結構體類型是一種“構造”而成的數據類型,在使用之前必須先聲明它,即先構造出這種結構類型。

  • 結構體數據類型關鍵字:

       關鍵字:struct

  • 結構體數據類型的聲明:

  struct  結構體名稱
  {
    成員列表(list);
  }

        結構體成員的聲明形式:

  數據類型 成員名稱;

  結構體名是由用戶自定義的一個合法的標識符,用於唯一標識該結構體數據類型,也稱為“結構體標記”。

其中,數據類型可以是一個基本數據類型,也可以是一個構造數據類型;成員名稱和普通變量命名規則相同。

成員列表也稱為“域表”,每一個結構體成員稱為一個“域”,結構體類型的成員名可以與程序中其他變量的名稱

相同。結構體數據類型的生命周期,如果在函數外面聲明,則從聲明的位置開始到程序結束全局有效,如果是

在函數內部聲明,則只在本函數內部有效。

  • 結構體數據類型變量的定義:

        聲明了結構體數據類型之后,就可以定義結構體數據類型的變量,定義結構體類型變量的三種方式:
  1.先聲明結構體數據類型,再定義結構體數據類型變量,如下:
  結構體數據類型聲明:
  struct  結構體名稱
  {
    成員列表(list);
  };
  結構體數據類型變量聲明:
    struct  結構體名稱  該結構體變量列表;
  2.在聲明結構體數據類型的同時,定義結構體數據類型變量,如下:
  struct  結構體名稱
  {
    成員列表(list);
  }該結構體類型變量列表;
  3.直接定義結構體數據類型變量,如下:
  struct 
  {
    成員列表(list);
  }該結構體類型變量列表;
這中形式的結構體類型,只能夠定義一次變量,不能在其他地方再次使用它來定義結構體變量了。定義了結構體
變量之后,系統會為結構體變量分配內存,結構體變量所占用的內存空間是各個成員所占的存儲空間的總和。
 
注意:
    【1】:結構體數據類型結構體數據類型變量是兩個不同的概念,在編譯時,系統只會為變量分配存儲空間,而不 會為類型分配存儲空間。
    【2】:結構體類型中的成員可以單獨使用,它們的作用和地位和同類型的普通變量一樣。
    【3】:在結構體數據類型中,結構體數據類型的成員的數據類型也可以是結構體數據類型( 划重點 )。
 
  結構體數據類型變量的引用:
  
    【1】:對結構體變量成員的引用。
   一般情況下,不能將結構體類型變量作為一個整體引用,而只能對結構體類型變量的成員進行單獨引用。
    【2】:結構體類型變量引用成員的方式。
     1.使用成員運算符訪問:
     2.使用
 

------------本節內容結束------------


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM