struct s_options opt;//此時結構體內的資料都是乙個隨機數
struct s_options *opts = (struct s_options*)malloc( sizeof(struct s_options) * 8 );//此時各元素為預設初始化值,例如int就是0
一、結構體的定義方法
1、直接定義
(1)為了以後再定義,這裡只是宣告
struct s_options type;
char *label;
char *arg;
char *message;
};
(2)既宣告了,又定義了,以後也可定義
struct s_options type;
char *label;
char *arg;
char *message;
} opt;
(3)只定義一次,以後不需要定義了
struct type;
char *label;
char *arg;
char *message;
} opt;
2、使用typedef
(1)
typedef struct s_options type;
char *label;
char *arg;
char *message;
}opt;
(2)可以省略s_options
typedef struct type;
char *label;
char *arg;
char *message;
}opt;
二、沒有指標的情況
1、賦值:
(1)初始化賦值:
struct s_options opt = ;
(2) 先宣告再賦值:
struct s_options opt;//此時結構體內的資料都是乙個隨機數
opt.type = opt_flag;
opt.label = "b";
opt.arg = "1"
opt.message = "print only the basis in report";
2、引用:
opt.type opt.label opt.arg opt.message (&opt)->type (&opt)->label (&opt)->arg (&opt)->message
三、一維指標
1、賦值:
(1)初始化賦值:
struct s_options options = ,,,
,,,,
};
(2) 先宣告再賦值:
struct s_options options;
(option+1)->label = "c";
或者option[1].label = "c"; 或者*(option+1).label = "c"
2、引用:
(option+1)->lable就是c,option[1].lable就是c,*(option+1).label = "c"
2、常用的變成指標來處理:
1、賦值:
(1)初始化賦值:
struct s_options options = ,,,
,,,,
};struct s_options *opts = options;
2、引用:
(opts+1)->label就是c,opts[1].label就是c,*(opts+1).label
四、動態分配
1、賦值:
(1)賦值://只有乙個時 也同理 opt->label (*opt).label
struct s_options *opts = (struct s_options*)malloc( sizeof(struct s_options) * 8 );//此時各元素為預設初始化值,例如int就是0
opts->label = "g";
(opts+1)->label = "s";
opts[0].label = "g";
opts[1].label = "s";
或者(*(opts)).label = "g"
(*(opts+1)).label = "s"
2、引用:opts->label (opts+1)->label或者opts[0].label opts[1].label 或者(*(opts)).label (*(opts+1)).label
指標與結構體
宣告 c c 內容來自西交公開課,之後不再宣告,僅作為筆記 thx.指標與結構體 結構體變數的指標 位址 結構體變數名 使用指標處理結構體變數步驟 1.定義指向結構體變數的指標 結構體型別 指標變數名 2.給指標變數提供初值 格式1 指標變數 成員名 格式2 指標變數 成員名 其中 稱為結構指向運算...
指標與結構體
指標是乙個變數,它儲存了另乙個變數的位址。指標主要的功能有兩個 避免副本和共享資料。作用是什麼?參考 1 定義指標變數的一般形式為 基型別 指標變數名,如 int pointer 1 float pointer 2 char pointer 3等,在定義指標變數時必須指定其型別。2 兩個相關的運算子...
結構體指標與結構體中變數的指標
結構體指標與結構體變數指標的區別,在進行實現的工程專案中會有許多地方用到結構體指標的情況,在使用這前都需要先malloc一塊空間之後才能有空間進入儲存資料,例項 如下 include includetypedef struct student student t,pstudent t void pr...