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

  

posted @ 2017-09-30 23:05  SmartGame  阅读(1556)  评论(0编辑  收藏  举报