在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ C++/ D語(yǔ)言結(jié)構(gòu)體
類的訪問修飾符
D語(yǔ)言運(yùn)算符
D語(yǔ)言邏輯運(yùn)算符
類指針
D語(yǔ)言元組
D語(yǔ)言指針
D語(yǔ)言模塊
D語(yǔ)言sizeof運(yùn)算符
D語(yǔ)言混合類型
D語(yǔ)言封裝
D語(yǔ)言條件編譯
類的靜態(tài)成員
D語(yǔ)言do...while循環(huán)
D語(yǔ)言結(jié)構(gòu)體
重載
D語(yǔ)言字符串-String
D語(yǔ)言決策語(yǔ)句
D語(yǔ)言接口
D語(yǔ)言for循環(huán)
D語(yǔ)言switch語(yǔ)句
D語(yǔ)言關(guān)聯(lián)數(shù)組
D語(yǔ)言范圍
D語(yǔ)言枚舉Enums
契約式編程
D語(yǔ)言并發(fā)
D語(yǔ)言開發(fā)環(huán)境設(shè)置
D語(yǔ)言別名
D語(yǔ)言常值
D語(yǔ)言常量
D語(yǔ)言函數(shù)
D語(yǔ)言if嵌套語(yǔ)句
D語(yǔ)言循環(huán)
D語(yǔ)言概述,D語(yǔ)言是什么?
D語(yǔ)言運(yùn)算符優(yōu)先級(jí)
D語(yǔ)言continue語(yǔ)句
D語(yǔ)言異常處理
D語(yǔ)言break語(yǔ)句
D語(yǔ)言if...else語(yǔ)句
D語(yǔ)言類和對(duì)象
類繼承
D語(yǔ)言字符
D語(yǔ)言教程
D語(yǔ)言關(guān)系運(yùn)算符
比較操作符重載
構(gòu)造函數(shù)和析構(gòu)函數(shù)
D語(yǔ)言抽象類
D語(yǔ)言if語(yǔ)句
D語(yǔ)言賦值運(yùn)算符
D中算術(shù)運(yùn)算符
D語(yǔ)言類成員函數(shù)
D語(yǔ)言位運(yùn)算符
D語(yǔ)言變量
D語(yǔ)言數(shù)據(jù)類型
D語(yǔ)言文件I/O
D語(yǔ)言數(shù)組
一元運(yùn)算符重載
D語(yǔ)言嵌套switch語(yǔ)句
D語(yǔ)言基本語(yǔ)法
二元運(yùn)算符重載
this指針
D語(yǔ)言聯(lián)合體
D語(yǔ)言模板
D語(yǔ)言嵌套循環(huán)
D語(yǔ)言while循環(huán)

D語(yǔ)言結(jié)構(gòu)體

D語(yǔ)言數(shù)組允許定義類型的變量,可容納同類但是結(jié)構(gòu)體幾個(gè)數(shù)據(jù)項(xiàng),它允許結(jié)合不同類型的數(shù)據(jù)項(xiàng)提供另一種用戶定義的數(shù)據(jù)類型。

結(jié)構(gòu)用來表示一個(gè)記錄,假設(shè)要跟蹤圖書館中的書籍??赡芟M櫫私饷勘緯囊韵聦傩裕?/p>

  • 書名

  • 作者

  • 科目

  • 書籍編號(hào)ID

定義一個(gè)結(jié)構(gòu)體

要定義一個(gè)結(jié)構(gòu),必須使用結(jié)構(gòu)體struct語(yǔ)句。該結(jié)構(gòu)語(yǔ)句定義了一個(gè)新的數(shù)據(jù)類型,項(xiàng)目不止一個(gè)成員。該結(jié)構(gòu)語(yǔ)句的格式是這樣的:

struct [structure tag]
{
   member definition;
   member definition;
   ...
   member definition;
} [one or more structure variables];  

結(jié)構(gòu)體標(biāo)簽是可選的,每個(gè)成員的定義是正常的變量定義,比如int i; or float f; 或任何其他有效的變量定義。在該結(jié)構(gòu)的定義的結(jié)尾,最后的分號(hào)之前,可以指定一個(gè)或多個(gè)結(jié)構(gòu)變量,但它是可選的。這里是將聲明書的結(jié)構(gòu)體:

struct Books
{
   char [] title;
   char [] author;
   char [] subject;
   int   book_id;
};

訪問結(jié)構(gòu)成員

要訪問一個(gè)結(jié)構(gòu)的任何成員,我們使用成員訪問運(yùn)算符(.)成員訪問運(yùn)算編碼為結(jié)構(gòu)體變量名,而我們希望訪問結(jié)構(gòu)成員之間的時(shí)間段。可以使用struct關(guān)鍵字來定義結(jié)構(gòu)類型的變量。下面是例子來說明結(jié)構(gòu)的用法:

import std.stdio;

struct Books
{
   char [] title;
   char [] author;
   char [] subject;
   int   book_id;
};

void main( )
{
   Books Book1;        /* Declare Book1 of type Book */
   Books Book2;        /* Declare Book2 of type Book */

   /* book 1 specification */
   Book1.title = "D Programming".dup;
   Book1.author = "Raj".dup;
   Book1.subject = "D Programming Tutorial".dup;
   Book1.book_id = 6495407;

   /* book 2 specification */
   Book2.title = "Lua Programming".dup;
   Book2.author = "Raj".dup;
   Book2.subject = "Lua Programming Tutorial".dup;
   Book2.book_id = 6495700;

   /* print Book1 info */
   writeln( "Book 1 title : ", Book1.title);
   writeln( "Book 1 author : ", Book1.author);
   writeln( "Book 1 subject : ", Book1.subject);
   writeln( "Book 1 book_id : ", Book1.book_id);

   /* print Book2 info */
   writeln( "Book 2 title : ", Book2.title);
   writeln( "Book 2 author : ", Book2.author);
   writeln( "Book 2 subject : ", Book2.subject);
   writeln( "Book 2 book_id : ", Book2.book_id);
}

當(dāng)上面的代碼被編譯并執(zhí)行,它會(huì)產(chǎn)生以下結(jié)果:

Book 1 title : D Programming
Book 1 author : Raj
Book 1 subject : D Programming Tutorial
Book 1 book_id : 6495407
Book 2 title : Lua Programming
Book 2 author : Raj
Book 2 subject : Lua Programming Tutorial
Book 2 book_id : 6495700

結(jié)構(gòu)作為函數(shù)的參數(shù)

可以傳遞一個(gè)結(jié)構(gòu)非常類似的方式函數(shù)作為參數(shù)傳遞任何其他變量或指針。訪問在上面的例子已經(jīng)使用類似的方式的結(jié)構(gòu)變量:

import std.stdio;

struct Books
{
   char [] title;
   char [] author;
   char [] subject;
   int   book_id;
};

void main( )
{
   Books Book1;        /* Declare Book1 of type Book */
   Books Book2;        /* Declare Book2 of type Book */

   /* book 1 specification */
   Book1.title = "D Programming".dup;
   Book1.author = "Raj".dup;
   Book1.subject = "D Programming Tutorial".dup;
   Book1.book_id = 6495407;

   /* book 2 specification */
   Book2.title = "Lua Programming".dup;
   Book2.author =