C struct結構體的用法

2021-09-29 05:13:52 字數 1342 閱讀 3483

struct personperson_a, person_b;

// 宣告之後直接建立變數

struct person person_c;

// 需要的時候建立

typedef

struct

person;

// 這裡 `person` 不是變數,而是型別名

person person_d;

// 也可以通過這種方式建立變數

一般情況下結構體標誌, 結構體成員列表, 變數名列表一般要有兩個.

c++ 的結構體可以包含函式, 與 class 的區別是, struct 的所有成員都是 public的.

它是指向本類物件(或體結構體變數)的指標,它的值是當前被呼叫的成員函式所在的物件的起始位址。*this就是this所指向的結構體變數。return *this就是返回當前結構體變數值 .

c++ 預先定義的操作符(如>,+)的操作型別只能是基本資料型別(如int), 自定義型別需要類似的運算時需要過載. 運算子過載的格式如下:

函式型別 operator 運算子名稱(形參表列)

const person& operator=

(const person& person_x)

例子:

#include

using

namespace std;

struct complex

complex operator

+(complex &c2)

;//宣告運算子的"+"函式

void

display()

;};complex complex::

operator

+(complex &c2)

//在結構體外定義結構體的成員函式用::

void complex::

display()

istream &

operator

>>

(istream & input,complex &c)

//過載》運算子用於輸入資料,因結構體裡變數是公有成員,不用宣告為友元函式,可直接引用成員

ostream &

operator

<<

(ostream & output,complex &c)

//過載《運算子用於輸出資料

intmain()

c struct結構體分段

看 中發現了一段一時間能理解 n年的老司機猜也能猜到了 但是又不太確定的 union sid struct uint32 t sid 明顯這段 的意思是game id 和role idx 各佔16位,相當於平分了sid 的空間,至於game id 和role idx 誰佔高位誰佔地位,實驗得出gam...

C struct結構型別

struct 結構 型別,是一種複雜的資料型別。它可以包含簡單資料型別,也可以包含其他結構型別,以及方法 屬性 索引器等。1 struct結構型別是值型別,這也是與類最重要的區別。2 結構型別可以實現介面,卻無法繼承另外乙個結構。3 結構型別成員,不能被宣告為protected。4 結構型別中,不能...

結構體的用法

1 資料型別的定義 struct point 結構體是一種資料型別,故此處被宣告的結構體point,同int char一樣。2 結構體的定義 struct point struct point p1 struct point是資料型別,故struct point p1就相當於int a,是一種定義。...