typedef使用总结

来源:互联网 发布:什么是单例模式 java 编辑:程序博客网 时间:2024/03/28 20:30

#include <stdio.h>

 

int TestFunc(char*a)

{

     char *b =a;

     printf("%c\n",*b);

     return 0;

}

 

int main()

{

     /************************************************************************/

     /*             typedef使用方法总结                              */

     /************************************************************************/

     //[好处]

     //1.可以使代码更简洁,且变量类型切合实际中的直观意义;

     //2.可移植性好,当需要更改某一参数的数据类型时,只要在一处更改就可以了;

 

     //[1.给变量取别名]

     typedef int Variable_Name;

 

     //[2.给结构体、枚举型取别名]

     typedef struct pNode

     {

         int values;

         char *next;

     }Node;

     Node lpNode;

     lpNode.values =1;

     //上面typedef对struct的定义实际上做了两件事:

     //一是定义了structpNode结构体类型;

     //二是typedefstruct pNode Node,给struct pNode取别名为Node;

     //故下面的定义编译不会通过

     /*typedef struct pNode

     {

         int values;

         Node next;

     }Node;*/

 

     //[3.为数组定义简洁的名称]

     typedef char ArrName[5];

     ArrName arrTest;//arrTest为一个大小为的char型数组

 

     //[4.给指针取别名]

     typedef int (*LPFUNC)(char *a);//定义LPFUNC为一个函数指针,该指针指向一个参数为char *a,返回值为int型的函数

     LPFUNC lpFunc//lpFunc同样也为一函数指针,指向函数与上面相同

     lpFunc = TestFunc;//将lpFunc指向函数TestFunc,函数名本是就是一个指针,指向该函数的代码在内存的首地址

     char b = 'b';

     (*lpFunc)(&b);//(*lpFunc)就是取得函数入口地址,即调用函数

 

     return 0;

}

 

 

原创粉丝点击