結構體的定義和基本使用

2021-10-03 06:29:22 字數 1649 閱讀 9774

在一組資料中往往含有一些不同的資料型別:字元型、整型... ...在這裡我們便會用到結構體。

首先,結構體(struct)有固定的成員(又稱域、專案或元素)構成,是一系列具有相同型別的或不同型別的資料構成的資料集合。結構體可以被宣告為陣列、指標、變數等,用於實現較複雜的資料結構,同時也可以是一些元素的集合。且乙個結構變數在記憶體占有一片連續的儲存空間,由於個資料成員的型別不同,所以具有特定的定義和訪問形式。

訪問形式:

結構指標->成員

(*結構指標).成員

其定義形式為:

struct 識別符號     //struct之後的識別符號使使用者自定義的型別名                               

結構體變數表;   //括號「」中為結構的成員列表,同時定義多個結構體變數用「 , 」隔開

struct 識別符號     //struct之後的識別符號使使用者自定義的型別名                               

;   //括號「」中為結構的成員列表

結構體名   結構體變數表   //也可同時定義多個結構體變數

在定義結構體變數時注意,結構體變數名和結構體名不能相同。在定義結構體時,系統對其不分配實際記憶體。只有定義結構體變數時,系統才為其分配記憶體。

例如:

struct contact

;contact stu1,stu2,*enp;//首先定義型別,然後說明變數

struct

stu1,stu2;

... ...

struct contact

;int main()

;}//1、注意使用大括號,末尾加分號結束 2、各字段的初始值要與該字段型別匹配 3、各初始值以逗號分開

... ...(strcpy用於字串的拷貝,要用)

struct contact

;int main()

注:

定義乙個新型別contact,成員變數為id,name,phone。其定義方式和普通的定義方式相同。

如char name所定義的只是單個字元,故使用char來定義字串時需使用指標或陣列,如char name[10]或char* name。

使用結構體可以使所編寫的程式簡單化,可以是資訊更加緊湊、直觀,在函式中還可以起到封裝的作用,使其可以只根據定義來再次利用。

另外陣列元素型別可以是基本型別,也可以是已經定義的結構型別。當陣列元素型別為結構型別時,稱為結構陣列。其定義和訪問方式遵循陣列和結構的語法規則。

例如:

struct type

;type ary[3];

其中ary[3]中含有三個元素組

ary[0].a     ary[0].x

ary[1].a     ary[1].x

ary[2].a     ary[2].x

C 結構體的定義和基本使用

平常使用中,我們經常需要定義多個變數,變數的型別也可能不同,這就需要我們定義很多的變數,比較繁瑣。比如需要定義場景中兩個遊戲物體的位置 物體一 float gameobjectx 1 float gameobjecty 2 float gameobjectz 3 物體二 float gameobje...

關於結構體的定義和基本使用

結構型別是使用者自定義型別,以關鍵字 struct 標識,由結構型別名 各成員的名稱和型別定義。struct 識別符號 我們怎麼才能實現在c 中輸出這麼乙個資訊塊呢?如果只用陣列,指標,字串,陣列等會不會太複雜了?那我們來試試結構化吧 先上dj,先上dj 來段 include struct cont...

DELPHI結構體的定義和使用

窗體設計如上面結構!如下 unit unit1 inte ce uses windows,messages,sysutils,variants,classes,graphics,controls,forms,dialogs,stdctrls type tform1 class tform edit1...