1. 程式人生 > >typedef見解即如何定義一個數組指針

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見解即如何定義一個數組指針