首页 > 代码库 > typedef关键字

typedef关键字

typedef功能十分强大:

  typedef声明有助于创建平台无关类型,甚至能隐藏复杂和难以理解的语法。

  typedef与简单类型:

    最简单的用法:typedef int size 这样声明了一个int的同义词size。

typedef char line[81];
line text = "content";

  typedef与指针:

    隐藏指针语法:typedef char* pstr 这样就可以用pstr来声明一个char*类型。

  typedef与结构体:

    定义一个结构体,如下:

struct MyPoint{
  float x;
  float y;          
};

    声明一个结构体变量:

struct MyPoint point;

    默认情况下,要带个struct关键字。

    使用typedef struct MyPoint SPoint; 就可以直接使用SPoint p;来声明变量了。

  typedef与函数指针:

typedef int (*sumFunc)(int, int);

int func(int a, int b)
{
     return a + b;
}

int main()
{
     sumFunc f = func;
     printf("%d\n",(*f)(1, 2));
     return 0;
}

    上面例子中声明了一个参数(int,int)->int类型的函数指针sumFunc;

  typedef在《UNIX高级环境编程》4-22中:

    typedef int Myfunc(const char *, const struct stat *, int);

    给(const char*, const struct stat*,int)->int函数类型起了个别名:Myfunc。后期声明该类型函数指针的时候可以使用Myfunc *

typedef关键字