c語言之結構體

2021-10-10 23:03:29 字數 2210 閱讀 8170

結構體變數的定義

!先定義結構體型別 再定義變數 or !同時定義 or !不定義型別名 只有變數

注意結構體型別不分配儲存空間 有變數才會

結構體變數的使用

結構體變數的初始化+

結構體變數成員的引用

格式:結構體變數.成員名

注意!不能整體scanf 及整體運算及整體輸入和輸出(只能對各成員) 型別相同可賦值但不能==

#include

struct date

;struct student ;

main()

結構體陣列的定義

同結構體變數的定義

結構體陣列的使用

結構體陣列名[下標].成員名

可以將結構體賦給同型別的結構體陣列元素or變數 例:notes

t=stu[i]

;stu[i]

=stu[j]

;stu[j]

=t;

#include

#include

struct student

;main()

;printf

("please input the number of votes");

scanf

("%d"

,&m)

;printf

("please input the name");

for(i=

1;i<=m;i++

)for

(i=0

;i<

3;i++

)printf

("%s:%d"

,stu[i]

.name,stu[i]

.count)

;for

(i=0

;i1;i++

)for

(j=0

;j1;j++)if

(stu[j]

.count.count)

for(i=

0;i<

3;i++

)printf

("%s:%d"

,stu[i]

.name,stu[i]

.count)

;}

結構體作為函式引數

每個成員作為實參呼叫

結構體變數整體作函式引數

注意 函式使用的僅僅是副本 不會改變原本的值

格式:結構體型別名 函式名(形參表)

用指標傳遞

實現間接訪問

返回值為結構體型別的函式

#include

#include

#include

struct clock

;void

display

(struct clock t)

struct clock update

(struct clock t)

if(t.minutes==60)

if(t.hours==24)

t.hours=0;

sleep

(1000);

return t;

}main()

;char ch;

printf

("please input \"s\" to start the clock\n");

printf

("please input \"s\" to end the clock\n ");

display

(cl)

; ch=

getch()

;while(1

)}else

if(ch==

'e'||ch==

'e')

break

;else ch=

getch()

;}printf

("\n");

}

–>printf

%02輸出:01;

​ %2輸出:(空格)1;

–>kbhit()

一種檢查當前是否有鍵盤輸入值 若輸入則返回非零,否則返回0

標頭檔案為#include

–>sleep(a)

一種讓系統暫定a秒的函式

標頭檔案#include

C語言之結構體

一 什麼是結構體 結構體是不同型別的資料組合成乙個有機整體。例如 學生的學號 姓名 性別 成績 位址 這些都是乙個學生的屬性,把這些屬性組織成乙個組合,組合中包含不同的資料型別,c和c 允許指定這樣的資料型別,稱為結構體。struct student 申明乙個結構體型別 struct是結構體申明的關...

C語言之結構體

在c語言中,可以使用結構體 struct 來存放一組不同型別的資料。結構體的定義形式為 struct 結構體名 結構體是一種集合,它裡面包含了多個變數或陣列,它們的型別可以相同,也可以不同,每個這樣的變數或陣列都稱為結構體的成員 member 請看下面的乙個例子 struct stu stu 為結構...

C語言之結構體

在c語言中,有一種型別聽著很任性,叫做自定義型別。顧名思義,這種型別是程式設計師自己定義的一種型別,它和陣列很相似,但也有一些區別。自定義型別包含以下幾種 結構體 列舉 聯合 結構體就是將具有不同或相同的型別放在一起的聚合型別。可能聽著有些像順口溜,上一段 捋一捋。struct peo a 在 中我...