結構 (Struct) 是一種比較特別的資料型別,能夠結合多個彼此相關的變數在一個名稱之下,且可以包含數個不同資料型態的變數,其基本語法如下

 

        struct 結構名稱 {

             成員變數;
             ...更多成員變數;

       }變數1,變數2.......;


也可以先完成結構再宣告變數,如:

        struct 結構名稱 {

             成員變數;
             ...更多成員變數;

       };

        struct 結構名稱   成員變數;




舉個例子來說,如果我們要記錄一個學生的基本資料,我們可以建立一個 Student 的 結構體,記錄它的基本資料。如:

struct Student {             
int age;             
char name[10];             
int studentNumber;                
};

struct Student student_1;             
struct Student student_2;

就宣告了兩個變數 student_1 與 student_2, 然後我們就可以用 “點” 運算子,來存取資料 如:        
student_1.age=14;         
student_1.studentNumber=122901;         
student_2.age=13;         
student_2.studentNumber=122902;         
NSLog(@"Student 1 age:%i Number:%i",student_1.age,student_1.studentNumber);         
NSLog(@"Student 2 age:%i Number:%i",student_2.age,student_2.studentNumber);
就會輸出

Student 1 age:14 Number:122901 Student 2 age:13 Number:122902

結構是可以有巢狀結構的,如學生資料內可以有個人資料。
但要先寫個人資料的結構,再寫學生的結構中加入個人資料的結構,範例如下:
struct personal{             
int age;             
char name[10];                 
char birthday[8];                
}; 
           
struct studentData{                 
int classNumber;                 
int student;                 
struct personal person;                 
};
            
struct studentData student_1;             
student_1.person.age=13;             
NSLog(@"Student 1 Age:%i",student_1.person.age); 
就會輸出【Student 1 Age:13】
arrow
arrow

    shenfive 發表在 痞客邦 留言(0) 人氣()