tft每日頭條

 > 生活

 > 怎麼定義結構體

怎麼定義結構體

生活 更新时间:2024-09-07 19:52:17

我們知道定義好一個結構體類型後,可以将其看作是與int,char和float等數據類型一樣的一個新的數據類型,其中并無具體數據,系統對之也沒有分配實際的内存空間單元。為了能夠在程序中使用結構體數據類型,應當定義結構體類型變量,并在其中存放具體數據。

結構體類型變量的定義

定義結構體類型變量是用已經定義好的某個結構體類型未完成。結構體變量的定義形式有如下3種。

1)先定義結構體類型,再定義結構體類型變量。例如:

怎麼定義結構體(結構體類型如何定義)1

以上程序段定義了名為employee的結構體類型,然後将a1,a2兩個變量定義成employee結構體類型。結構體類型變量的定義形式為:

struct 結構體名 結構體變量名表列;

例如,struct employee a1,a2;

定義a1,a2為struct employee類型的變量,它們具有了struct employee類型的結構。在定義了結構體變量之後,系統會為之分配内存單元,結構體變量的每個成員在計算機中占有不同且連續的内存單元,每個結構體變量所占内存大小為各個成員項所占内存大小之和。

例如,a1和a2在内存中各占29個字節(2 20 1 2 4=29)。

2)定義結構體類型的同時定義結構體變量。例如:

怎麼定義結構體(結構體類型如何定義)2

定義employee結構體類型的同時,定義了屬于該類型的兩個結構體變量a1和a2。用這種方法進行結構體類型變量定義的一般形式為:

怎麼定義結構體(結構體類型如何定義)3

3)直接定義結構體類型變量。

結構體類型名一般在後面的程序中不會出現,就像除了變量定義之外,一般不會在程序中引用int一樣。所以,定義結構體變量時,可以将結構體類型名省略掉。其一般形式為:

怎麼定義結構體(結構體類型如何定義)4

例如:

怎麼定義結構體(結構體類型如何定義)5

結構體的成員也可以定義成另一個結構體類型的變量。例如:

怎麼定義結構體(結構體類型如何定義)6

說明

結構體類型與結構體類型變量是不同的概念。結構體類型是一種數據類型,系統不對其分配存儲空間;結構體類型變量才是實實在在的變量,系統會為其分配存儲空間,可以進行賦值,存取或運算。

如有裨益,吾之興也。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved