C 結構型別

2021-09-11 08:06:00 字數 978 閱讀 9396

c++中有一種資料型別稱為結構型別,它允許使用者自己定義一種資料結構,並且把描述該類的各種資料型別整合到其中。

一、結構型別的基本使用

#include "stdafx.h"

#include "iostream";

using namespace std;

struct student

;int main()

輸出結果:

二、c++結構與函式

與陣列不同,結構是按照值傳遞的。也就是整個結構的內容都賦值給了形參。

#include "iostream";

using namespace std;

struct student

;void display(student arg);

int main()

; cout << "s.name的位址為:" << &s.name << endl;

display(s);

cout << "形參被修改後:" << endl;

display(s);

return 0;

}void display(student s1)

s1.age++;

s1.gpa = 99.9f;

cout << endl;

}

輸出結果:

通過輸出s和s1的成員資料name的值所在位址,發現兩者是不同的。即整個name陣列複製給了引數s1.在函式中修改形參的值對實參沒有影響。如果希望修改實參的值,這需要用到引用。

C 結構型別

結構型別用於表示由固定多個 型別可以不同的元素所構成的復合資料型別。1.結構型別定義 struct 結構型別名 或 typedef struct 結構型別名 結構體型別別名 1 別名可以跟結構型別名不一樣,但是一般都是一樣的,設定別名是為了方便像其他變數型別一樣定義變數,這是保留了c的語法。2 在結...

C 中結構型別和類型別

c 中結構型別和類型別在語法上非常相似,他們都是一種資料結構,都可以包括資料成員和方法成員。結構和類的區別 1 結構是值型別,它在棧中分配空間 而類是引用型別,它在堆中分配空間,棧中儲存的只是引用。2 結構型別直接儲存成員資料,讓其他類的資料位於對中,位於棧中的變數儲存的是指向堆中資料物件的引用。c...

C 結構體型別和類型別

當我們需要定義一些需要定義一些型別的時候,需要用到一些欄位和屬性的集合,有人會用類型別。也有人會用結構體型別。結構和類的區別 1 結構是值型別,它在棧中分配空間 而類是引用型別,它在堆中分配空間,棧中儲存的只是引用。2 結構型別直接儲存成員資料,讓其他類的資料位於對中,位於棧中的變數儲存的是指向堆中...