①.、首先在打开的C语言数据库中,输入【#include】,如下图所示.
C语言中,函数调用的一般形式为:函数名(实际参数表)
对无参函数调用时则无实际参数表.实际参数表中的参数可以是常数,变量或其它构造类型数据及表达式.各实参之间用逗号分隔.
在C语言中,可以用以下几种方式调用函数:
①.、函数表达式:函数作为表达式中的一项出现在表达式中,以函数返回值参与表达式的运算.这种方式要求函数是有返回值的.例如:z=max(x,y)是一个赋值表达式,把max的返回值赋予变量z.
函数指针告诉CPU下一步需要执行哪里的代码的指针, 一数组十分相像.
#include?stdio.h
void?function(int?i,?double?d)?//一个函数的声明
{
printf("函数运行,?%d,?%lf\n",?i,?d);
}
void?AnotherFunction(int?i,?double?d)?//另外一个函数声明
printf("又一个函数运行,?%d,?%lf\n",?i,?d);
int?main()
void?(*pFun)(int,?double);?//定义了一个函数指针
int?(*p)(int?,?double);?//用于调试的函数指针
pFun?=?function;?//让这个函数指针指向第一个函数
pFun(10,?10.101);?//通过这个函数指针来调用第一个函数
pFun?=?AnotherFunction;?//让这个函数指针指向第二个函数
//若将以下代码取消注释,?就会产生错误
/*
p?=?function;
p?=?AnotherFunction;
//原因很简单,?因为p是必须指向一个返回值为int,?第一个参数为int,?第二个参数为double的函数,?但是在此代码中定义的函数返回值是void
*/
//这个实验中,?直接用函数名来赋值了,?是因为函数名其实就是这个函数的指针
//而在平常调用函数时,?都要加上(),?如:printf("");
//这里,?"()"就相当于'*'(就是取值运算符),?printf是函数指针,?就相当于是数组名,?即数组的首地址
return?0;
int
(*p)(参数表列)这个是定义一个指向函数的指针,返回值为整型.比如int
max(int
a,int
b)将max换成(*p)
即可,p里放的是max函数的入口地址,所以,此时的p做自加自减等运算无意义.不能用*(p+1)表示函数的下一条指令.
*p()是函数,此函数的返回值是个指向整型变量的指针变量.
***************************************************
好了,全部的你需要的,下面是一些其它相关容易混淆的:
*p[n]:定义指针数组P,它由n个指向整型数据的指针元素组成.
(*p)[n]:P为指向含n个元素的一维数组的指针变量.
以上就是土嘎嘎小编大虾米为大家整理的相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!