void的使用

来源:互联网 发布:手机计算器软件 编辑:程序博客网 时间:2024/04/30 14:29

void的用法大概有如下几种:

(1)如果函数没有返回值,那么应声明为void类型;

(2)如果函数无参数,那么应声明其参数为void;

(3)如果函数的参数可以是任意类型指针,那么应声明其参数为void * ;

//例如以下,交换任意两个变量:void swap(void* lsh, void* rhs, size_t size){    ......}//有了这样一个函数,那么如果想要交换两个变量,那就可以:swap(&ai, &bi, sizeof(int));swap(&af, &bf, sizeof(float));


(4)void*可以用来声明一个任意类型的指针变量,

  例如:int p=13; void* a=&p;

(5) void不能代表一个真实的变量;


对于函数指针和void的结合,需要注意的是:

void* fun( ) ; //声明一个返回值可以是任意类型指针的函数fun()
void vfun( ) ; //声明一个没有返回值的函数vfun()

void (*xxx)( ) ;  //这是一种变量类型,可用来定义函数指针变量

例如:void (*pfun)(); 是声明一个函数指针变量pfun,该类型函数就是形如 void func() 的这种函数类型类型,pfu可以指向这类函数,如:pfun=vfun;

这种声明方式可以用在将一个函数声明为另一个函数的参数,例如 

//声明一个函数,可以接受三个参数,para1为一个函数指针,para2和para3为int型void runfunc(void (*func) (int, int), int a, int b){func(a,b);}


1 0
原创粉丝点击