結構體基礎 typedef

2021-09-12 19:46:39 字數 976 閱讀 4105

typedef是型別定義的意思。typedef struct 是為了使用這個結構體方便。

具體區別在於:

若struct node {}這樣來定義結構體的話。在申請node 的變數時,需要這樣寫,struct node n;

若用typedef,可以這樣寫,typedef struct node{}node; 。在申請變數時就可以這樣寫,node n;

區別就在於使用時,是否可以省去struct這個關鍵字。

分三塊來講述:

1 首先:

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

typedef struct student

stu;

於是在宣告變數的時候就可:stu stu1;

如果沒有typedef就必須用struct student stu1;來宣告

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

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

typedef struct

stu;

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

struct student

;

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

****************************************===*

2其次:

在c++中如果用typedef的話,又會造成區別:

struct student

stu1;//stu1是乙個變數

typedef struct student2

stu2;//stu2是乙個結構體型別

使用時可以直接訪問stu1.a

但是stu2則必須先 stu2 s2;

然後 s2.a=10;

C 基礎(04) 結構體及typedef

結構體屬於使用者自定義的資料型別,其和類的定義及語法幾乎一樣。它們唯一的區別在於結構體預設的訪問控制屬性是公有型別 public 而類的預設訪問控制屬性是私有型別 private 1 語法 struct 結構體名 建立student的結構體 struct student s3 s3 為該結構體的乙個...

typedef用法 結構體

結構體中typedef語句用法總結 typedef為c語言的關鍵字,作用是為一種資料型別 這裡僅討論結構體資料型別 定義乙個新名字。在程式設計中使用typedef目的一般有兩個 給變數乙個易記且意義明確的新名字 簡化一些比較複雜的型別宣告。1 typedef的最簡單使用 typedef int da...

結構體 列舉 typedef

1.結構體陣列的宣告 struct 結構體名字 陣列名 陣列長度 struct student students 5 2.結構體陣列的初始化 賦值 1 靜態初始化 定義的同時賦值 struct student students 2 動態初始化 先定義後初始化 struct student stude...