struct和typedef struct的區別

2022-04-09 12:58:04 字數 838 閱讀 4995

在了解struct和typedef struct之前,我們先學習下typedef的定義和用法。

typedef為c語言的關鍵字,作用是為一種資料型別定義乙個新名字。這裡的資料型別包括內部資料型別(int,char等)和自定義的資料型別(struct等)。

c語言裡typedef的解釋是用來宣告新的型別名來代替已有的類姓名,例如:

typedef int change;

指定了用change代表int型別,change代表int,那麼:

int a,b;和change a,b;是等價的、一樣的。方便了個人習慣,熟悉的人用change來定義int。

現在回到struct和typedef struct的區別這個問題上來

歸納起來就是在使用時,是否可以省去struct這個關鍵字

舉例來說:

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

typedef struct student

stu,student;

於是在宣告變數的時候就可:stu stu1;或者:student stu2;(stu 和student 同時為student的別名)

如果沒有typedef即:

struct student

stu;

就必須用struct student stu1;或者struct stu stu1來宣告

另外這裡也可以不寫student

typedef struct

stu;

參考:

struct和typedef struct的區別

1 在c中定義乙個結構體型別要用typedef typedef struct student stu 於是在宣告變數的時候就可 stu stu1 如果沒有typedef就必須用struct student stu1 來宣告 這裡的stu實際上就是struct student的別名。stu struc...

struct和typedef struct的區別

1.基本解釋 typedef為c語言的關鍵字,作用是為一種資料型別定義乙個新名字。這裡的資料型別包括內部資料型別 int,char等 和自定義的資料型別 struct等 在程式設計中使用typedef目的一般有兩個,乙個是給變數乙個易記且意義明確的新名字,另乙個是簡化一些比較複雜的型別宣告。至於ty...

struct和typedef struct的區別

在c中定義乙個結構體型別要用typedef typedef struct student stu 於是在宣告變數的時候就可以 stu stu1 如果沒有typedef就必須用struct student stu1 來宣告 這裡的stu實際上就是struct student的別名。stu struct...