C 結構體 朱

2021-08-19 19:03:58 字數 1121 閱讀 2852

在沒有結構體之前,資料的組織依靠的是:變數+陣列,但是後來需要的變數多了,所含變數的資料型別也都有不同,而陣列結局的問題中所需要變數的資料型別是一樣的,此時結構體就能夠解決這種資料型別不同的問題。

結構體是乙個集合,集合中包含很多元素,這些元素的資料型別可以相同,也可以不同,所以  結構體是一種資料封裝的方法,以至於組成乙個大而新的資料型別。

資料結構:把龐大複雜的資料用一定的方式組織管理起來,便於操作(查詢,增加,刪除等)。

陣列是一種特殊的結構體,特殊之處在於陣列封裝內的各個元素型別是相同的。

結構體和陣列都是對一些子元素進行封裝,因此定義的時候都是封裝作為整體定義,但是用的時候,都是使用封裝中的子元素。一般結構體變數和陣列變數都不會作為乙個整體操作。

第一步:定義結構體型別,在函式的外面進行定義(也就是全域性)。

第二步:使用第一步定義的型別來定義結構體變數。

第三步:使用變數,實際上是使用結構體變數的時候,使用的是結構體變數中封裝的各個子元素,而不是結構體變數本身。

結構體變數和普通變數一樣,作為區域性時,定義的時候沒有初始化也沒有顯示賦值,那麼結構體變數中各元素的值是隨機的。

第一種:完全初始化(x, x, x, x);

第二種:部分初始化

.a = x;

.b = x;

.c = x;

#include"stdiio.h"

struct mystruct//定義乙個結構體mystruct

//新增不同型別的元素

int a;

char b;

float c;

double d;

};//此處的;不能丟

ina main()

mystruct s;//定義變數s,型別是struct mystruct

//給結構體裡面的元素賦值

s.a = 1;

s.b = 'a';

s.c = 3.141;

s.d = 3.141592;

s.a += 1;

printf("s.a = %d\n", s.a);

s.b = 'y';

printf("s.b = %c\n", s.b);



結構體巢狀結構體 C語言結構體

希望今年夏天的遺憾能成為你秋天的驚喜。網易雲熱評 一 結構體概念 可以簡單理解為把不同資料型別放到一起的陣列 二 結構體宣告與初始化 1 先宣告結構體型別再定義變數 2 同時定義變數 3 直接定義結構體型別變數 include include include include struct aiyou...

C 結構體共用體

12 c 中陣列初始化的特點 初始話陣列可以省略等號 初始話內容為空 不可縮窄操作 double people double people int number 不通過,因為浮點到整形為縮窄13 sizeof 計算陣列時候會比strlen 多計算乙個0位元組 14 字串的初始化和賦值,string ...

C語言結構體和結構體排序

結構體 結構體是一種構造資料型別 構造資料型別包括 陣列型別 結構體型別 共用體型別 定義 把不同的資料組合成乙個整體。結構體的一般形式struct 結構體名稱 struct是關鍵字 不要忘記這裡的分號定義結構體的三種方法 第一種 先定義結構體型別,在定義變數名 struct student str...