結構體 C 和C語言中的結構體的區別

2021-07-26 21:35:52 字數 1399 閱讀 1651

在c中定義乙個結構體型別要用typedef:

typedef

struct student

stu;

於是在宣告變數的時候就可:stu stu1;(如果沒有typedef就必須用struct student stu1;來宣告)

這裡的stu實際上就是struct student的別名。stu==struct student

另外這裡也可以不寫student(於是也不能struct student stu1;了,必須是stu stu1;)

typedef

struct

stu;

但在c++裡很簡單,直接

struct student

;

於是就定義了結構體型別student,宣告變數時直接student stu2;

typedef struct和struct的區別:

typedef

struct tagmystruct

mystruct;

上面的tagmystruct是識別符號,mystruct是變數型別(相當於(int,char等))。

在c中,這個申明後申請結構變數的方法有兩種

(1)struct tagmystruct 變數名

(2)mystruct 變數名

在c++中可以有

(1)struct tagmystruct 變數名

(2)mystruct 變數名

(3)tagmystruct 變數名

c語言在結構體中是不可以直接初始化成員的。

!!!下面的寫法是錯誤的

!!!

struct student

c++可以使用建構函式

#include 

#include

using

namespace

std;

struct st

void

set(st* s1,st* s2)//賦值函式

st& operator=(const st& s)//過載運算子

st(const st& s)//複製建構函式

};int main()

C語言中的結構體

在 c語言中,結構體 struct 指的是一種資料結構,是c語言中聚合資料型別 aggregate data type 的一類。結構體可以被宣告為 變數 指標或 陣列等,用以實現較複雜的 資料結構。結構體同時也是一些元素的集合,這些元素稱為結構體的成員 member 且這些成員可以為不同的型別,成員...

c語言中的結構體

定義結構體變數 結構體 自定義的一種型別稱為構造型別,在c語言中稱為結構體 定義結構體 struct 結構體名 定義結構體變數 1.struct 結構體名 變數名 引用結構體成員 運算子.結構體變數.成員 定義結構體變數並初始化 struct 結構體名 變數名 結構體與陣列類似,定義之後不能直接整體...

C語言中的結構體。

這篇部落格我想將一下c語言中的結構體。對於結構體的概念性問題這裡博主不再過多闡述,我們還是用 說話。結構體的語法 這是c語言中的規則 struct 結構體名 我們可以寫乙個簡單的結構體 struct student 在這裡我們要明白乙個事情,c語言中結構體成員變數一般來說應該從定義的由大至小存放,比...