天天看點

c++ new一個結構體_c/c++ struct結構體定義及用法詳解

在c語言中,定義一個結構體類型最好用上typedef這種方式,至于為什麼?下面我們簡單講下。

typedef struct point{int x;int y;}Point;在聲明變量或定義變量的時候就可以像這樣:Point p1;
           
如果沒有用typedef這個關鍵字,如:struct point {int x;int y;};在聲明變量或者定義變量的時候就必須用:struct point p1;可以看出Point是struct point的别名。其實也可以省去point如下:typedef struct {int x;int y;}Point;
           

=================

在c++裡,用法比c語言簡單

struct Point {int x;int y;};定義了一個結構體Point,聲明變量時直接用Point p1;
           
如果使用typedef又會造成差別struct Point{int x;int y;} p1; //這裡定義了Point結構體,同時聲明了一個變量p1typedef struct Point{int x;int y;} p2; //這裡的p2 是Point的别名
           

總結:

在c中 struct 不能包含函數

在c++中, 對struct進行了擴充,可以包含函數

在c++中, 之是以包含兩種定義方式主要是為了相容c語言

c++ new一個結構體_c/c++ struct結構體定義及用法詳解

繼續閱讀