首页 > 其他 > 详细

void(*p)()和void*p()区别

时间:2014-03-19 18:50:07      阅读:340      评论:0      收藏:0      [点我收藏+]
void (*p)()是一个指向函数的指针,表示是一个指向函数入口的指地变量,该函数的返回类型是void类型。它的用法可参看下例:
例如:有一返加void值的函数swap,(swap用来交换两个数)
void (*p)(); /*定义指向函数的指针变量p*/
p=swap; /*使指针变量p指向函数max*/
(*p)(a,b); /*通过指针变量p调用函数max*/
它等价于:
swap(a,b)

void *p()是一个指针型函数,它的函数名为p,返回了一个指针,因为是void,这个指针没有定义类型,所以返回的是一个通用型指针。
给你举一个例子:
#include<stdio.h>
int *max(int *p);
void main()
{
int a[10]={96,23,45,86,79,63,58,36,29,95};
int *p;
p=max(a);
printf(“max=%d\n”,*p);
}
int *max(int *p)
{
int i,*q=p;
for(i=1;i<10;i++)
if(*(p+i)>*q)
q=p+1;
return q;
}

void(*p)()和void*p()区别,布布扣,bubuko.com

void(*p)()和void*p()区别

原文:http://www.cnblogs.com/qbmiller/p/3611355.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!