亲们好,常识网编辑扛把子来为亲们解答一番。结构体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用法)到此结束,希望对亲们有所帮助。