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 結構型別直接儲存成員資料,讓其他類的資料位於對中,位於棧中的變數儲存的是指向堆中...