用typedef自定義型別語法你真的會嗎

2022-05-04 08:30:10 字數 669 閱讀 1544

關於typedef

我們學習typedef的時候,他的定義語法是:typedef+型別+別名,但是按照上面的格式,自定義陣列怎麼定義呢,是這樣tepedef int a[10] 別名?還是這樣tepedef int 別名 a[10] ?最近學了自定義block,是這樣typedef void (^別名)();還是這樣typedef void (^)() 別名;最後還是這樣typedef void (^別名)();我就有疑惑這不符合以前的語法呀。

我查了一些資料,國內的大部分書是這樣的定義格式:typedef+型別+別名,有乙個國外書上的說法,我很同意,typedef 的基本語法是:typedef+宣告識別符號的語法;它在沒有 typedef 的時候是在宣告識別符號, 如果有了 typedef 就是在宣告類,由該型別宣告的變數, 就與原沒有 typedef 宣告的識別符號有相同的型別,這樣自定義陣列,自定義block就說的過去了。

例://自定義乙個長度為十的int型別的陣列

typedef int a[10]; //typedef +宣告陣列的語法

a a1, a2, a3;//定義三個陣列

//自定義乙個無返回值無引數的block

typedef void (^myblock)();// //typedef +宣告block的語法

myblock m1, m2, m3;//定義三個block

自定義型別

typedef型別 typedef 已有型別 新建型別 示例 typedef double area,volume typedef int number number i1 area a enum enum 列舉型別名 enum week 預設sun 0,可以比較 如果修改必須形如enum week...

自定義型別

下面列舉幾種c語言中常用的自定義資料型別 1.結構體型別 當描述乙個整型變數時,可以用int,描述字元型變數時,可以用char,但要描述乙個學生時,因為這個學生包含的資訊很多,比如姓名,性別,年齡等,不能通過單一的型別來描述,所以,這裡引入結構體型別,將某個事物的共有屬性集合在一起,宣告乙個結構體型...

自定義型別

列舉從字面意思理解就是將可能取的值一一枚舉出來,列舉型別沒有成員 可言,裡邊存放的是可能取值。列舉型別的定義 enum day enum color printf d n red printf d n green printf d n blue 執行結果 day和color都是定義的列舉型別,中的內...