typedef关键字

Posted 暴力的轮胎

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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关键字的主要内容,如果未能解决你的问题,请参考以下文章

结构体中函数指针与typedef关键用途(函数指针)

C 语言数据类型本质 ( 数据类型别名 | typedef 关键字 | 为复杂数据类型设置别名 | 为简单数据类型设置别名 )

C语言typedef详解

typedef关键字

C语言基础:typedef关键字 typedef vs #define

C语言指针进阶第一站:字符指针 & typedef关键字!