世界微动态丨结构体typedef用法_typedef用法

2023-03-31 19:51:08 来源:互联网

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这种类型。

本文到此结束,希望对大家有所帮助。

标签:

上一篇:
下一篇: