免費開源的iOS開發學習平臺

                                                結構struct:1-結構的定義與基本使用

                                                Objective-C中除了類之外,還定義了結構struct用來存儲變量。在一些場景下,類和結構是可以通用的。

                                                假如我們希望存儲日期,包含:年、月、日三個變量,那么可以考慮定義一個Date類,其中包含3個int類型的屬性,分別存儲year,month和day。另外,我們也可以使用結構來定義一個新的數據類型。

                                                結構類型的定義

                                                可以使用如下方法來定義結構類型。

                                                struct 結構體名稱 {
                                                    成員變量類型 成員變量名稱;
                                                    成員變量類型 成員變量名稱;
                                                    成員變量類型 成員變量名稱;
                                                    ...;
                                                };
                                                

                                                例如:我們可以定義一個結構體類型Date來存儲日期。

                                                    //定義名為Date的結構體
                                                    struct Date {
                                                        int day;
                                                        int month;
                                                        int year;
                                                    };
                                                

                                                結構變量的聲明

                                                聲明一個結構體變量,會在內存中分配空間,等待給成員變量賦值。聲明結構體變量的方式為:

                                                struct 結構體名稱 結構體變量名稱;
                                                

                                                例如:

                                                    //聲明一個名為today的結構體變量,類型為date,此時會分配內存空間,用來存儲日月年
                                                    struct Date today;
                                                

                                                結構變量的賦值/初始化

                                                結構變量的初始化以及賦值可以采用如下兩種方式。

                                                • 使用點語法賦值。
                                                    //初始化
                                                    today.day = 2;
                                                    today.month = 9;
                                                    today.year = 2016;
                                                
                                                • 在定義結構體變量時,直接賦值。
                                                    struct Date tomorrow = {3,9,2016};
                                                

                                                結構成員變量的訪問

                                                我們可以使用點語法來獲取結構中成員變量的值。

                                                void structTest () {
                                                    //定義名為Date的結構體
                                                    struct Date {
                                                        int day;
                                                        int month;
                                                        int year;
                                                    };
                                                    
                                                    //聲明一個名為today的結構體變量,類型為date,此時會分配內存空間,用來存儲日月年
                                                    struct Date today;
                                                    
                                                    //初始化
                                                    today.day = 2;
                                                    today.month = 9;
                                                    today.year = 2016;
                                                    
                                                    struct Date tomorrow = {3,9,2016};
                                                    
                                                    //訪問
                                                    NSLog(@"今天是:%d年%d月%d日",today.year,today.month,today.day);
                                                    NSLog(@"明天是:%d年%d月%d日",tomorrow.year,tomorrow.month,tomorrow.day);
                                                }
                                                

                                                運行結果:

                                                示例代碼

                                                https://github.com/99ios/6.5.1


                                                欧美超级精品一级A片|欧美一级黄色视频|国产精品自在在线午夜免费|4444亚洲人成无码网在线观看|亚洲ⅴa曰本va欧美va视频