typedef見解即如何定義一個數組指針
今天我想說的是我關於typedef的一些見解,不能說是見解,只是理解吧!
typedef:對於自定義的數據類型取一個名字;我是這麽理解的;
比如說一個數組 int a[5]和一個int b,同樣是定義一個數據變量,我們可不可以讓int a[5] 寫的像int b一樣簡單呢?於是就有了typedef可以對自定義的數據類型取名字;這個用法將會在結構體struct的重命名中大量使用;
typedef int aa[5];//在這裏定義一個數組的數據類型,記住只是分配了內存;此時並沒有分配空間;類型和變量是不一樣的
typedef int (*aa1)[5];//在這裏定義了一個數組指針類型,道理同時
{
//int //僅僅這樣寫的化是不會分配內存空間的
int a_1;//這樣寫是才能成功定義一個變量,也就是對其分配了空間
//aa//同上理aa只是一個數據類型,光憑一個數據類型是無法分配內存空間的;所以還要定義一個變量名
aa a_2;//這裏成功的定義了一個數組a_2,其實可以這樣看 aa a_2==> int a_2[5];只不過是少寫了[5],感覺有些像宏替換一樣;
//那麽如果我們想要定義一個數組指針:則可以這樣寫
int (*a_3)[5];//這是我們平時用的一種
//又或者是用我們自定義的數據類型;
aa *a_4;//這個和普通的數組指針用法一樣,因為一維數組 a_4 相當於一級指針,那麽*a_4就相當於二級指針
//或者第三種
aa1 a_5;//自定義一個數組指針變量
a_4 = &a_2;//a_2相當於一級指針,取地址可以傳遞給二級指針。
}
以上就是typedef
typedef見解即如何定義一個數組指針