IOS-Object-C學習之結構體使用

來源:互聯網
上載者:User

IOS-Object-C學習之結構體使用
前言:定義結構體並不是定義一個變數,而是定義了種資料類型。   結構體作用:   結構體和其他類型基礎資料類型一樣,例如int類型,char類型 只不過結構體可以做成你想要的資料類型。以方便日後的使用。  在實際項目中,結構體是大量存在的。研發人員常使用結構體來封裝一些屬性來組成新的類型。由於C語言內部程式比較簡單,研發人員通常使用結構體創造新的“屬性”,其目的是簡化運算。  結構體在函數中的作用不是簡便,其最主要的作用就是封裝。封裝的好處就是可以再次利用。讓使用者不必關心這個是什麼,只要根據定義使用就可以了。摘自:百度百科   一、定義結構體 基本文法: struct 結構體名字 {    類型 名字;    類型 名字;    類型 名字;    ... };  結構體的定義方法三種,請繼續往下看。 定義方法一: struct programmer {    char *name;    int age;    int phone;};初始化: struct programmer proTest = {"Garvey", 28, "13823992034"};  定義方法二: struct {    int age;    int tag;} str1;初始化,這個只能使用點文法,具體請往下看。   定義方法三: typedef struct {    char *name;    int tag;} structExt; 使用typedef可以建立新類型,現在可以使用structExt定義新的結構體變數了。   我們可以看到,方法一和方法二的區別。方法一聲明了結構體名字,但沒有聲明結構體變數。方法二聲明了結構體變數,但沒有聲明結構體名字。因此我們可以知道:“結構體名字和結構體變數必須有其一,也可以兩者都存在”。 結構體名字及結構體變數都存在,例: struct programmer {    char *name;    int age;    char *phone;} proSuccess, proFail;  二、結構體成員訪問和賦值 訪問和賦值都是使用點文法 訪問: proSuccess.name;proSuccess.age;proSuccess.phone;  賦值/修改: proSuccess.name = "Calvin";proSuccess.age = 27;proSuccess.phone = "13138940202";  三、注意點 錯誤初始化寫法,這句話在先行編譯時就會報錯: proSuccess = {"name", 10, "13732423452"};  寫了這麼多,都還沒輸出過任何內容,這裡要說的是。使用char定義的變數,輸出時要使用%s。例: NSLog(@"%s- %d - %s", proTest.name, proTest.age, proTest.phone);PS:使用char定義的變數,不能儲存中文(因為我不知道如何輸出,輸出會變成碼,你根本都看不懂)。  

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.