结构体typedef用法(typedef用法)

亲们好,常识网编辑扛把子来为亲们解答一番。结构体typedef用法,typedef用法很多人还不知道,现在让咱们往下走!

1、 在编程中:typedef通常有两个用途。

2、 给变量取一个新名字,这个名字要好记,意思要明确。

3、 简化一些复杂的类型声明。

4、 如何使用typedef:

5、 格式:

6、 typedef existing_type new_type_name ;

7、 注意:typedef不创建新类型。

8、 它只是向现有类型添加一个同义词。

9、 Typedef是最容易使用的:

10、 格式:

11、 typedef int size; typedef unsigned int WORD;

12、 声明定义了一个同义词:int,名为size,可以用在任何需要int的上下文中。语句定义了无符号int的同义词,命名为WORD,可以用在任何需要int的上下文中。

13、 Typedef数组指针:

14、 您不必重复定义包含81个字符元素的数组,如下所示:

15、 char line[81]; char text[81];

16、 定义一个typedef,每当你想使用相同类型和大小的数组时,你可以这样做:

17、 typedef char line[81]; line text, secondline;

18、 类似地,指针语法可以隐藏如下:

19、 typedef char * pstr; pstr str='abc'; int mystrcmp(pstr, pstr);

20、 typedef函数:

21、 函数指针通常用于回调。

22、 当我们的程序中有以下函数时:

23、 void printHello(int i);

24、 然后定义一个指向printHello的函数指针,并调用这个函数:

25、 void (*pFunc)(int); pFunc=printHello; (*pFunc)(110);

26、 其中:void (*pFunc)(int)是声明函数的指针,指向返回值为void的函数,调用参数为(int),变量名为pFunc。

27、 PFunc是函数指针,是函数指针的简单用法。声明函数指针很复杂,

28、 特别是当你想在多个地方声明同类型的函数指针变量时,

29、 代码更加复杂,

30、 所以简化方法:

31、 typedef void (*PrintHelloHandle)(int);

32、 使用代码如下:

33、 PrintHelloHandle pFunc; pFunc=printHello; (*pFunc)(110);

34、 以后其他地方的程序需要声明类似的函数指针,只需要下面代码:

35、 PrintHelloHandle pFuncOther;

36、 这样,代码就变得更加简洁易懂。

37、 ypedef小结:

38、 typedef 行为有点像#define 宏,用其实际类型替代同义字。

39、 typedef char * pstr; pstr mystr;

40、 typedef并不创建新的类型,typedef 在编译时被解释。 typedef和数组:

41、 typedef char Line[81]; Line text;

42、 把text替换为typedef char Line[81]的Line,展开之后就是

43、 char text[81];

44、 最复杂的typedef和指针

45、 typedef void (*PrintHelloHandle)(int); PrintHelloHandle pFunc;

46、 将pFunc替换typedef void (*PrintHelloHandle)(int),展开之后就是

47、 void (*pFunc)(int);

48、 其实就是声明一个pFunc函数指针而已,根本没有PrintHelloHandle这种类型。

结构体typedef用法(typedef用法)到此结束,希望对亲们有所帮助。