指针作为函数参数的使用方法,指针作为函数参数的使用方法是
用指针变量作为函数参数
指针就是一个地址,用指针传递就是传递一个地址,你对一个地址所对应的内存操作,当然就会在被调函数中改变调用函数的变量的值。
c,c++ 指向函数的指针作为函数参数 的用法 急!
#include stdio.h
typedef int MYFUNC(char *) ; //定义一个新的变量类型:函数变量类型MYFUNC
int fun1( char *s)
{
printf("into func 1:%s\n" , s );
return 0;
}
int fun2(char *s)
{
printf("into func 2:%s\n" , s );
return 0;
}
//void fun3( int (*p)(char*) ,char *str) 原始用法
void fun3( MYFUNC *p ,char *str) //定义新类型MYFUNC后的用法
{
printf("in_func:3 " );
p( str );
}
int main()
{
//int (*p)(char *); 原始用法
MYFUNC *p ; //定义新类型MYFUNC后的用法
p=fun1;
fun3(p,"hello");
p=fun2;
fun3(p,"world");
return 0;
}
c++利用指针做函数参数
#includestdio.h
int code(char *str,char *p)
{int n=0;
for(;*str;str++)
if(*str==*p)
{*str='*';
n++;
}
return n;
}
int main()
{ char s[]="succese",c='s';
int n;
n=code(s,c);
printf("%s\n%d\n\n",s,n);
}
怎样用函数指针做参数?
列了几个简单的应用:
//形式1:返回类型(*函数名)(参数表)
#includecstdio
char (*pFun)(int);
char glFun(int a){printf("just a test,hehe\n"); return 'a';}
void main()
{
pFun = glFun;
(*pFun)(2);
}
//形式2:typedef 返回类型(*新类型)(参数表)
typedef char (*PTRFUN)(int);
PTRFUN pFun;
char glFun(int a){ return;}
void main()
{
pFun = glFun;
(*pFun)(2);
}
//形式三
#includeiostream
using namespace std;
class CA
{
public:
char lcFun(int a){cout"just a test "aendl; return 'a'; }
};
typedef char (CA::*PTRFUN)(int);
int main()
{
CA ca;
PTRFUN pFun;
pFun=CA::lcFun;
//ca.lcFun(2);
(ca.*pFun)(2);
return 0;
}
c语言中用一个函数指针作为另一个函数的参数,该怎么解决
首先需要声明函数指针的类型(下例子中的typedef int (*fpFunt)(int a,int b),再定义某个函数(下例中的Add),在其参数列表中使用该函数指针类型,同时需要定义另一函数(下例中的fpAdd,注意该函数形式要和fpFunt一致,本例子中是返回一个整数,两个整型参数)作为实参用。这里在手机上使用易历知食软件内的微C程序设计来编程,举个两个数相加的例子,代码如下图:
调用后运行结果如下图: