回覆列表
  • 1 # 你永遠追不上的巨人

    在C語言中,可以使用結構體(Struct)來存放一組不同型別的資料。結構體的定義形式為:struct 結構體名{結構體所包含的變數或陣列};結構體是一種集合,它裡面包含了多個變數或陣列,它們的型別可以相同,也可以不同,每個這樣的變數或陣列都稱為結構體的成員(Member)。結構體定義:第一種:只有結構體定義struct stuff{char job[20];int age;float height;};第二種:附加該結構體型別的“結構體變數”的初始化的結構體定義//直接帶變數名Huqinweistruct stuff{char job[20];int age;float height;}Huqinwei;也許初期看不習慣容易困惑,其實這就相當於:struct stuff{char job[20];int age;float height;};struct stuff Huqinwei;第三種:如果該結構體只用一個變數Huqinwei,而不再需要用struct stuff yourname;去定義第二個變數。那麼,附加變數初始化的結構體定義還可進一步簡化出第三種:struct{char job[20];int age;float height;}Huqinwei;把結構體名稱去掉,這樣更簡潔,不過也不能定義其他同結構體變量了——至少我現在沒掌握這種方法。結構體變數及其內部成員變數的定義及訪問。要分清結構體變數和結構體內部成員變數的概念。就像剛才的第二種提到的,結構體變數的宣告可以用:struct stuff yourname;其成員變數的定義可以隨宣告進行: struct stuff Huqinwei = {"manager",30,185};也可以考慮結構體之間的賦值:struct stuff faker = Huqinwei;//或 struct stuff faker2;// faker2 = faker;列印,可見結構體的每一個成員變數一模一樣如果不使用上邊兩種方法,那麼成員陣列的操作會稍微麻煩(用for迴圈可能好點)Huqinwei.job[0] = "M";Huqinwei.job[1] = "a";Huqinwei.age = 27;Huqinwei.height = 185;結構體成員變數的訪問除了可以藉助符號".",還可以用"->"訪問。擴充套件資料:結構體陣列與結構體指標:一個結構體變數中可以存放一組資料;如一個學生的學號、姓名、成績等資料。如果有10個學生的資料需要參加運算顯然應該用陣列,這就是結構體陣列結構體陣列與以前介紹過的數值型陣列不同之處:每個陣列元素都是一個結構體型別的資料,它們都分別包括各個成員(分量)項。結構體指標和其他型別的指標都是一樣的理解,在32位平臺不管啥型別的指標都佔4個位元組的空間。結構體指標就是指向結構體變數的指標;如果一個指標變數中儲存了結構體變數的首地址,那麼這個指標變數就指向該結構體變數.透過結構體指標即可訪問該結構體變數,這與陣列指標和函式指標的情況是相同的結構指標變數說明的一般形式為:struct 結構體名 *結構體指標變數名struct student *p = &Boy; //假設事先定義了 struct student Boy。

  • 中秋節和大豐收的關聯?
  • 如何看待一加5?