C/C++ struct 結構體定義 用法詳解
阿新 • • 發佈:2019-01-02
在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;//p1是一個結構體變數
typedef struct Point {
int x;
int y;
}p2; //p2是一個結構體型別
在 C中,struct不能包含函式
在C++中,對struct進行了擴充套件,可以包含函式。
在C++中,之所以包含兩種定義方式,主要是為了相容C語言。