結構體

1、結構體(重點)

是程序員自己創建的一種數據類型
語法
    結構體的創建
    如何使用結構體定義變量,及操作變量
    初始化
    結構體指針及訪問成員變量的方法
    結構體數組及初始化
字符對齊
    找到結構體中棧內存最大的成員
    以該成員所佔的字節數爲單位, 爲每個成員分配空間
    從第二個成員開始,將待分配的字節編號除以該成員所佔的字節數,如果餘數爲0,則進行分配否則空出該字節用下一個分配
#import <Foundation/Foundation.h>

typedef struct Example
{
    int i;//成員變量
    char ch;
    double d;
}Example1;


int main(int argc, const char * argv[]) {
    @autoreleasepool {
        int a;
        struct Example s;
        s.i = 10;//點是一個運算符
        s.ch = 'a';//結構體變量的成員只能逐個操作,不能整體訪問
        s.d = 3.14;

        Example1 s1 = {2,'b',2.68};
        Example1* p = &s1;
        p->i = 10;

        Example1 s2[3] = {{10,'a',3.14},{20,'b',2.68},{3.,'c',9.8}};
    }
    return 0;
}
結構體做函數形參
    值傳遞(不建議使用)
    地址傳遞
#import <Foundation/Foundation.h>
typedef struct
{
    char ch;
    int i;
}Size1;

typedef struct {
    int i;
    char ch;
    double d;
}Size2;

typedef struct
{
    int i;
    double d;
    char ch;
}Size3;

typedef struct
{
    int i;
    char ch[10];
    double d;
}Size4;

int main()
{
    @autoreleasepool {
        NSLog(@"%lu",sizeof(Size4));
    }
    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章