c和c 在結構體定義上的區別

2021-09-24 08:36:35 字數 511 閱讀 4504

c中,定義乙個結構體變數必須要用typedef(只有這一種方式):

typedef struct student

stu;

stu s1; //結構體變數s1

s1.a=1; //變數s1結構a的值為1

s1.b=2;

而在c++中,有兩種方式

方式一:不需要typedef即可定義

struct student

stu;

stu.a=1;

stu.b=2.2;

可以直接用stu.a;而不需要stu s1;然後再s1.a;

方式二:用typedef定義

typedef struct student

stu1;

stu1 stu1;

stu1.a=1;

stu1.b=2;

總結:只要用了typedef,則c和c++都一樣,不同的是c++多了一種不用typedef的方式。

C結構體 C 結構體 和 C 類的區別

c結構體 c 結構體基本相同,c 類主要是方法的實現。結構體是資料型別的集合 類是資料型別加方法的集合,基本如此,更注重方法。1.c的結構體和c 結構體的區別 1 c的結構體內不允許有函式存在,c 允許有內部成員函式,且允許該函式是虛函式。所以c的結構體是沒有建構函式 析構函式 和this指標的。2...

struct結構體在c和c 中的區別

很多次遇到這個struct的問題,今天在這裡簡單總結一下我的理解 一 struct在c 中的使用 1 單獨使用struct定義結構體型別 struct student stu1 struct student stu2 stu1.id 1 stu2.id 2 上面定義了乙個結構體型別struct st...

C和C 結構體區別

c的結構體內不允許有函式存在,c 允許有內部成員函式,且允許該函式是虛函式。所以c的結構體是沒有建構函式 析構函式 和this指標的。c的結構體對內部成員變數的訪問許可權只能是public,而c 允許public,protected,private三種。c語言的結構體是不可以繼承的,c 的結構體是可...