結構體(第十四章 )

2022-08-16 16:24:14 字數 2252 閱讀 2191

※目錄:

一、結構體簡單執行例項

二、結構體具體使用

宣告定義

初始化訪問

三、結構陣列

四、指向結構的指標

宣告初始化

訪問

一、結構體最簡單的執行例項

結構體是描述結構如何組合的主要方法。

以下為建立圖書目錄的乙個簡單例項:

#include#define maxtitle 41

#define maxauther 31

struct

book;

//結構宣告

int main(void

)

執行示例:

請輸入書名:

dog請輸入作者名:

lisa

請輸入**:

12《dog》自 lisa:(12.00)元

完成.process returned 0 (0x0) execution time : 43.283 s

press any key to continue.

二、結構體的具體使用

1.建立結構宣告:

struct book;

//結構宣告

2.定義結構變數

經過宣告已經描述了結構如何組合,接下來「建立乙個結構變數」。

int main(void

)

編譯器建立乙個變數library,編譯器使用book模板為該變數分配空間,

例如:

struct book a, b, *c;

ps:宣告和定義的合併

宣告結構和定義結構變數可以被合併成一步,如下(不需要使用標記):

struct library;

只可使用一次,如果要反覆使用見後面typedef。

3.初始化結構

前面的例子沒有進行初始化,初始化見下:

struct

book library;

如要進行指定初始化:

struct book d ;

4.訪問結構成員

gets(library.title);//或

scanf("

%f",&library.value);

三、結構陣列

把book程式擴充套件成可以使用更多的書。

#include#define maxtitle 41

#define maxauther 31

#define maxbooks 100

struct

book;

//建立結構體

int main(void

)

這是表示每個成員:

library[0].value;

四、指向結構的指標

1.宣告和初始化指標

//

宣告很簡單

struct guy * him;

關鍵字struct ,結構標記 guy, 然後是乙個*號,再加結構名。

ps:宣告之後意味著him可以指向任何乙個 guy 型別的結構。

如果 tom 是乙個guy型別的結構,可以:

him = &tom;//

表示位址使用取址符

而如果是個結構陣列:

him = &hengzhi[0];

2.如何用指標訪問成員

以下是三種方法:

him->income is fellow[0].income if him == &fellow[0] //

最常用的方法

follow[

0].income == (*him) .income

barney.income == (* him) .income == him->income

第十四章約束

約束 constraint 是一種保證資料完整性的規則。約束設定在單個字段或者多個字段組合上,寫入這些欄位的行資料必須要符合約束的規則 約束的五種型別 not null 非空約束,指定某列的所有行資料不能包含空值 unique 唯一性約束,指定列或者列的組合的所有行資料必須唯一 primary ke...

第十四章 約束

第十四章 約束 練習1 1.學校有乙個選課系統,其中包括如下關係模式 系 系編號 主鍵,系名稱 唯一鍵,系主任 非空約束,系所在校去 取值範圍只能在南湖校區和渾南校區 create table xi xi no varchar2 10 primary key,xi name varchar2 10 ...

第十四章 集合

1.集合 把個數不定的物件一起帶著走 集合是乙個存放任意數量的引用的物件的容器 多個物件放在另乙個物件中,此物件可成為乙個集合物件 注意 如果集合物件建立時不指定泛型,則在當前集合中可以存放任意型別的物件 包括 collection list set map list 介面的實現類有arraylis...