typedef在結構體定義中的使用

2021-08-08 03:26:48 字數 988 閱讀 9848

物件導向的語言接觸得多了,經常會忘記c語言中結構體變數宣告的特殊性,在這裡總結回顧一下。

一、結構體在**中的兩種常見定義形式

(1) 結構體型別定義

struct a

;

定義{}中的結構體為乙個名稱是"a"的結構體。

使用這種定義方式時,必須使用struct a ***來宣告變數,a ***的宣告形式在c語言中是不被支援的。

eg: 想要宣告乙個型別為a的結構體變數a

struct a

;a a;

錯誤資訊:

(2)結構體變數定義

struct

a;

以{}中的結構定義乙個名稱為"a"的結構體變數,a是結構體變數不是結構體型別。這種定義形式下的結構體被稱為匿名結構體,是沒辦法被直接引用的。

二、typedef在結構體定義中的應用

typedef是c語言關鍵字,作用是為一種資料型別定義乙個新的名字。對於以上兩種結構體定義形式,typedef都可以為其建立別名。

(1) 為結構體a建立乙個別名taga

typedef struct a

taga;

(2) 為匿名結構體建立乙個別名taga

typedef struct

}taga;

typedef在這裡的應用解決了匿名結構體不能被再引用的問題。

三、總結

typedef 在結構體中的應用

舉兩個例子,對比一下,大家就都明白了 當然結構體有好幾種定義方法,這裡就不多說了 struct student 此處的student是結構體型別名 char name int age int number stu 此處的stu是乙個結構體變數名,只是用來訪問結構體的成員變數。stu.age 12,給...

typedef 在結構體中的基礎應用

關於typedef的在結構體的應用,我舉出三個例子 include typedef struct survey st int main void typedef 還可以進行別的資料型別的使用 include typedef int jay intmain void 在結構體中還有這種形式 第一種方法...

資料結構(結構體定義,typedef)

時間2014 03 24 00 22 39 csdn部落格 原文 看了郝斌老師的資料結構,很有感觸,所以就想寫乙個系列關於資料結構的文章 不論你是出於單純學習資料結構,還是出於為考研資料結構的初試以及複試做準備的目的,我相信你都可以從本系列博文中獲益。環境 windows xp x86 vc 6.0...