iOS 階段學習第十天筆記(結構體)

2022-03-07 11:50:12 字數 3020 閱讀 7112

ios學習(c語言)知識點整理

一、資料結構

1)概念:資料結構是指電腦程式中所操作的物件——資料以及資料元素之間的相互關係和運算。

2)結構體必須有struct 關鍵字修飾.

例項**:

1

struct

person;67

intmain();//

struct person 是資料結構9//

tom 是變數名

10 tom.age=33;//

通過點號訪問成員變數

11 printf("

姓名=%s;年齡=%d;身高=%.2f\n

",tom.name,tom.age,tom.height);

12return0;

13 }

3)使用typedef 修飾結構體,與不使用typedef修飾的結構體的區別在於,typedef修飾的結構體不需要再加struct即可使用。

例項**:

1 typedef struct

personstperson;67

intmain();//

struct stperson 是資料結構9//

jack 是變數名

10 jack.age=25;//

通過點號訪問成員變數

11 printf("

姓名=%s;年齡=%d;身高=%.2f\n

",jack.name,jack.age,jack.height);

12return0;

13 }

4)結構體集合的使用 

例項**:

1

intmain();

4 stperson *pstu;

5 printf("

%s",stu[0

].name);

6for (int i=0; i<10; i++)

11 pstu=stu;

12//

(*pstu).name等價於 pstu->name;

13//

pstu+i 指向裡面的第i個元素

14//

指標通過->去訪問指向的物件的成員變數

15int len=sizeof(stu)/sizeof

(stperson);

16for(int j=0; j)

20return0;

21 }

5)結構體位元組對齊  #pragma pack(n)  n可為1,2,4,8,16;設定系統對齊模數,按結構所有成員中最大者和對齊模數比較,與較小者對齊

例項**:

1 typedef struct

2aa;

56 typedef struct

7ab;

1112 typedef struct

13ac;

1819 typedef struct

20ad;

2627 typedef struct

28ae;

3233

intmain()

34

6)列舉  概念:乙個被命名的整型常數的集合,列舉宣告的關鍵字是 enum

注意點:

1、列舉元素之間用 「,」分隔

2、列舉第一元素如果沒有賦值預設值為0,之後的元素依次加1

3、列舉是 unsigned int 型別的包裝集合。

4、列舉都是常量,與巨集#define相似

5、列舉的名字不能重名

例項**:

1

enum

weekday2;

1112

intmain()

13

7)typedef 用法說明;typedef 老的型別 新的名字 ,給型別取個別名

例項**:

1 typedef unsigned long

ul;2 typedef int *intp;

3int add(int a,intb)6

7//給這種函式指標取了乙個新名字 pfunc

8 typedef int (*pfunc)(int,int);9

intmain()

10

8)結構聯合體,一般聯合體都是二選一,即聯合體中一般只會存在兩個元素,系統在初始化時只會選擇其中乙個記憶體較大的進行賦值。

例項**:

1 typedef struct person//

person可以省略,後面之用簡化的名字

2;//

共享同一段記憶體,按情況去解析.

10//

記憶體大小按大的計算

11//

初始化的時候,按照第乙個解析

12}stperson;

1314

intmain()15;

17 stperson xiaozhu=;

18//

初始化的時候,不能給最後乙個成員變數賦值為字串

19 printf("

sizeof(stperson)=%lu\n

",sizeof

(stperson));

20 printf("

name:%s,age:%d,height:%d,stuid:%d\n

",xiaoli.name,xiaoli.age,xiaoli.height,xiaoli.stuid);

2122

//給名字字段賦值

23 sprintf(xiaozhu.workname,"

%s","

kingkong");

24 printf("

name:%s,age:%d,height:%d,workname:%s\n

",xiaozhu.name,xiaozhu.age,xiaozhu.height,xiaozhu.workname);

25return0;

26 }

學習第十天

一 介面 jdk1.8及之後新增了2中可以定義存在方法體的方法 預設方法 default關鍵字修飾的方法 使用 通過實現類物件使用 靜態方法 使用 通過介面名去呼叫 二 單例模式 保證類只能存在乙個例項 餓漢式 先建立物件,然後需要的人要這個物件,保證永遠使用的都是這個建立好的物件 執行緒安全的,效...

iOS 階段學習第十天筆記(字串操作)

ios學習 c語言 知識點整理 一 字串的操作 1 字串的儲存,字元陣列,在堆裡面申請記憶體空間。例項 include include intmain 2 字元操作函式,形參為對應引數的ascii碼值,滿足條件返回1,不滿足返回0 需要引用標頭檔案 include 1 int isalnum int...

python學習第十天

class student count 0 def init self,name,age,address self.name name self.age age self.address address student.count 1 k print k w open a.txt w encodin...