iOS開發 Object C學習之結構體使用

2022-05-04 15:51:07 字數 1614 閱讀 1012

前言:定義結構體並不是定義乙個變數,而是定義了種資料型別。

結構體作用:

結構體和其他型別基礎資料型別一樣,例如int型別,char型別 只不過結構體可以做成你想要的資料型別。以方便日後的使用。

在實際專案中,結構體是大量存在的。研發人員常使用結構體來封裝一些屬性來組成新的型別。由於c語言內部程式比較簡單,研發人員通常使用結構體創造新的「屬性」,其目的是簡化運算。

結構體在函式中的作用不是簡便,其最主要的作用就是封裝。封裝的好處就是可以再次利用。讓使用者不必關心這個是什麼,只要根據定義使用就可以了。

一、定義結構體

基本語法:

struct

結構體名字 ;

結構體的定義方法三種,請繼續往下看。

定義方法一:

struct

programmer ;

初始化:

struct programmer protest = ;

定義方法二:

struct

str1;

初始化,這個只能使用點語法,具體請往下看。

定義方法三:

typedef struct

structext;

使用typedef可以建立新型別,現在可以使用structext定義新的結構體變數了。

我們可以看到,方法一和方法二的區別。方法一宣告了結構體名字,但沒有宣告結構體變數。方法二宣告了結構體變數,但沒有宣告結構體名字。因此我們可以知道:「結構體名字和結構體變數必須有其一,也可以兩者都存在」。

結構體名字及結構體變數都存在,例:

struct

programmer prosuccess, profail;

二、結構體成員訪問和賦值

訪問和賦值都是使用點語法

訪問:

prosuccess.name;

prosuccess.age;

prosuccess.phone;

賦值/修改:

prosuccess.name = "

calvin";

prosuccess.age = 27

;prosuccess.phone = "

13138940202

";

三、注意點

錯誤初始化寫法,這句話在預編譯時就會報錯:

prosuccess = ;

寫了這麼多,都還沒輸出過任何內容,這裡要說的是。使用char定義的變數,輸出時要使用%s。例:

nslog(@"%s- %d - %s", protest.name, protest.age, protest.phone);

ps:使用char定義的變數,不能儲存中文(因為我不知道如何輸出,輸出會變成亂碼,你根本都看不懂)。

博文出處:

iOS開發 Object C學習之結構體使用

前言 定義 結構體並不是定義乙個變數,而是定義了種資料型別。結構體作用 結構體和其他型別基礎資料型別一樣,例如int型別,char型別 只不過結構體可以做成你想要的資料型別。以方便日後的使用。在實際專案中,結構體是大量存在的。研發人員常使用結構體來封裝一些屬性來組成新的型別。由於c語言內部程式比較簡...

ios學習筆記之Object C 集合

obejct c中包含了三種集合,分別是 陣列 字典和集 set 陣列和c語言中的陣列相似,但是oc中的陣列只能儲存物件,不能儲存基本資料型別,如int float enum struct等,也不能儲存nil。它也提供了編制好的索引物件,可以通過制定索引找到要檢視的物件。包含可變陣列 nsmutab...

IOS 開發之Object C中的物件詳解

ioswww.cppcns.com 開發之object c中的物件詳解 前言關於c語言的基礎部分已經記錄完畢,接下來就是學習object c了,編寫oc程式需要使用foundation框架。下面就是對oc中的物件介紹。物件物件和結構類似,乙個物件可以儲存多個相關的資料。在結構中,我們稱這些資料為成員...