189 8069 5689

c语言函数参数做执行函数,c语言中函数参数表

【C语言】函数作为函数参数

Question:在函数void function()中,需要将另外一个函数double input()的函数名作为参数。

创新互联建站专注为客户提供全方位的互联网综合服务,包含不限于网站设计、成都网站设计、通许网络推广、小程序开发、通许网络营销、通许企业策划、通许品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联建站为所有大学生创业者提供通许建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com

typedef double (*P)(int);

Note:参数部分需要注意,函数input()所有的输入参数类型都需要包含在内。

例如 double input(double u[5], int num, double x), 则在定义时写作 typedef double (*P)(double*,int,double)。

此时,函数作为一种类型,可以直接被其他函数调用。

函数声明中定义 void function(P input),调用function(input)即可。

也可以写成

C语言execl()函数 执行文件函数

C语言execl()函数:执行文件函数

相关函数:fork, execle, execlp, execv, execve, execvp

头文件:#include unistd.h

定义函数:int execl(const char * path, const char * arg, ...);

函数说明:execl()用来执行参数path 字符串所代表的文件路径, 接下来的参数代表执行该文件时传递过去的argv(0), argv[1], ..., 最后一个参数必须用空指针(NULL)作结束.

返回值:如果执行成功则函数不会返回, 执行失败则直接返回-1, 失败原因存于errno 中.

范例

#include unistd.h

main()

{

execl("/bin/ls", "ls", "-al", "/etc/passwd", (char *)0);

}

执行:

/*执行/bin/ls -al /etc/passwd */

-rw-r--r-- 1 root root 705 Sep 3 13 :52 /etc/passwd

自定义函数后,要用户输入函数名和参数来执行函数的操作,C语言

#include

stdio.h

void

mat(int

x)

{

printf("Call

mat,

parameter

x=%d\n",

x);

}

int

main(int

argc,

char*

argv[])

{

char

func[512];

int

para;

while

(1)

{

scanf("%s",

func);

scanf("%d",

para);

if

(strcmp(func,

"mat")

==

0)

{

mat(para);

break;

}

else

{

printf("请输入:

mat

3\n");

}

}

}

解释:c中肯定是不能用字符串直接去调用函数的,不过你可以将一个字符串定位到一个函数指针,当判断输入的字符串和某个字符串相同之后,调用相应函数指针所指向的函数,例如:

mat

-------

void

(*fun)(int

x);

当用户输入mat时,调用fun。

当然你也可以向我上面写的,判断用户输入的是否是你想要的,如果是,直接调用mat函数。

希望对你有帮助~

C语言 将函数名作为参数被另外一个函数调用

要将函数名作为参数,需要使用函数指针。

函数指针的定义格式为

ret_type (*var_name)(arg_list);

表示返回值为ret_type,参数列表为arg_list的函数指针var_name.

int (*p)(int,int);

表示返回值为int,参数为两个int型的函数指针p。

以函数指针作为形参,即可实现函数名作为参数,由另一个函数调用。

void func(int (*a)(int))

{

int r = 100l;

(*a)(r);

}

即可传入函数指针,并以r为参数,调用该指针指向的函数。


文章名称:c语言函数参数做执行函数,c语言中函数参数表
本文网址:http://cdxtjz.com/article/phcsps.html

其他资讯