復合資料型別

2021-07-15 12:59:54 字數 1399 閱讀 5598

復合資料型別 **

** 作用:封裝資料(多種不同型別資料存放在一起)

應存放在全域性,在訪問結構體中的變數時,應用stu.id; stu.name{};

初始化的方式:

在對陣列進行初始化時:

strcpy(stu.name, "zhangsan");

在對指標進行初始化時:char *name; 對name進行初始化:

stu.name = (char *)mollac(sizeof((char)*100);
整體初始化:

struct student stu = ;
結構體陣列

第一種初始化方式

struct student stu_array[3] = ; ;

};

第二種初始化方式

for(i = 0; i < 3; i++)

輸出方式

for(i = 0; i < 3; i++)

*使用注意事項

字對齊 :含有4個位元組,按照4個位元組對齊

半字對齊:至多含有2個位元組,按照兩個位元組對齊

其中重要的是

char

short

char

佔8個位元組

char

char

short

佔4個位元組

所以在定義結構體時,相同型別的放在一起,節省空間,防止記憶體空洞

unoin node

union node p;

union node *pp = &p;

p.num = 1;

p.ch = 'a';

pp->ch = 'a';

printf("sizeof(p)=%d\n", sizeof(p));
結果是4,共用體用的是同一段空間,測量的是共用體中最長成員的長度。

存在資料覆蓋的問題。

;用於杜絕幻數,提高**的可讀性,需要大量整數巨集時,用枚

復合資料型別

一 struct結構體 封裝資料 存放多種不同的資料型別 struct的宣告放在全域性區 1.宣告和定義 宣告 struct student struct student stu array 3 int i for i 0 i 3 i for i 0 i 3 i include struct stu...

復合資料型別

結構體 作用 封裝資料 把多種不同的資料型別放在一起 注意 一般放在全域性 分號不能省略。結構體變數用點訪問 結構體指標用 訪問 初始化 靜態初始化 動態初始化 使用注意事項 給結構體中的陣列成員賦值時,不能直接將字串賦給陣列名,可以使用strcpy函式 給結構體中的指標變數成員賦值時,要先給指標分...

復合資料型別

include 結構體 struct student1 s4 無名結構體 struct s2,s3 int main 使用,變數用 引用成員,指標用 引用成員 printf id d,name s n s5.id,s5.name struct student1 ps s4 s4.id 20 prin...