struct和typedef的用法和區別

2021-10-09 13:13:17 字數 1128 閱讀 7424

struct和typedef的用法和區別:

一直有點搞不太清楚這兩者,今天總算弄明白了 總結一下:

首先,這兩者在c和c++中使用是不同的:

先說c1.1 在c中定義乙個結構體型別的話:

struct student

;

這樣的話,以後每一次宣告student型別的變數的話就要這樣寫:

struct student stu1;

struct student stu2;

非常的麻煩;

那麼使用typedef關鍵字的話:

typedef

struct student

stu;

我們再宣告student型別的話就可以這樣子寫:

stu stu3;

stu stu4;

是不是簡單了很多~ 這裡 stu相當於上面的 struct student,可以理解為 stu就是struct student的別名(好吧,不是可以理解為,而是就是這樣)。

好了,說完了c,我們再說一說c++

c++中就簡答的多了,例如定義結構體

struct student

stu;

看到了嗎,這裡可以直接在 "}"後面寫上它的別名,那麼後面宣告新的student型別的話:

直接,stu stu5;

就可以了…

但是,還是要說一下,c++中加不加 typedef還是有區別的。例如下面:

typedef

struct student

stu1;

struct student

stu2;

這樣在使用的時候,第乙個可以直接使用stu1,相當於stu1不只是乙個名字了,而是乙個實際的student型別的量了,我們可以 直接stu1->name = "zhangsan";這樣子的操作;

而對於第二個,必須先stu2 s2; s2->name = "liyi";才可以~

typedef和struct的用法問題(c)

若有 typedef struct str,p,str 5 typedef int int 尾部要有 int a 相當於int a typede int int p int p p a 相當於int p a 注意 define int p int int p a,b 相當於int a int b 與...

基礎C語言之Typedef和struct的結合使用

c語言typedef關鍵字 typedef 作為c語言中常見的關鍵字,用法有多種,經常用來改變或者說給一種型別另取乙個名字 include int main n1,n2,n3,narray 10 struct結構體關鍵字用來宣告乙個結構體型別 若在結構體後邊有字串例如上邊這個例子 則代表n1,n2,...

結構體struct和typedef後面接指標的含義

這幾天構建tin的時候一直有這個用法,沒講過,這裡搜到看一下,原來是給結構體指標舉個別名!像這樣的 是比較好理解的,就是取fileinfo為sturct file的別名嘛。typedef struct file fileinfo 但是在嚴奶奶的 資料結構 那本書裡面卻充滿了這樣的用法 typedef...