C C 結構體struct的不同

2021-08-01 18:18:27 字數 768 閱讀 9552

參考:

c中:struct student才相當於乙個資料型別

struct student

stu;  

struct student是結構體型別

stu是變數,等價於struct student stu;

typedef struct student

stu;

stu和struct student都是結構型別(有stu作別名時student可省略)

宣告變數時可以:stu stu;或者struct student stu;

c++中:student相當於乙個資料型別

struct student

stu;  

struct是結構體型別識別符號

student是結構體型別

stu是變數,等價於student stu等價於struct student stu;

typedef struct student

stu;

stu和student都是結構體型別

宣告變數時可以:stu stu;或者student stu;或者struct student stu;

其他:

1.在c中,struct不能包含函式。在c++中,對struct進行了擴充套件,可以包含函式。

2.在c/c++中,struct ...{}stu; stu是變數,typedef struct ...{}stu; stu是結構體型別。

C C 中結構體 struct

c 裡面struct可以new,另外 c 中,struct關鍵字與class關鍵字基本是一樣的,但是,有兩點不同 1 struct定義的資料型別裡面所有成員預設級別都是共有的,而class裡面所有成員預設級別都是私有的 2 在模板定義中,只能用class 或者typename 而不能用struct提...

C C 中的結構體 struct

什麼是結構體?簡單的來說,結構體就是乙個可以包含不同資料型別的乙個結構,它是一種可以自己定義的資料型別,它的特點和陣列主要有 兩點不同,首先結構體可以 在乙個結構中宣告不同的資料型別,第二相同結構的結構體變數是可以相互賦值的,而陣列是做不到的,因為陣列是單一資料型別的資料集合,它本身不是資料型別 而...

C C 結構體 struct 對齊問題

以前只記得結構體對齊,是對齊最長的那個成員,但現在發現並不是這樣,看以下兩個示例 64位 g 9.3.0 編譯 class b 8 static int c 0 static int d 0 static int f 0 cout 值得一提的是靜態成員不佔空間 這裡虛指標 8b,char b 1b。...