点击上方蓝字关注我,了解更多咨询
构成C程序的基本单位是函数
C语言程序是由函数构成的,不存在过程。
函数名代表该函数的入口地址
C语言函数可以嵌套调用,例如:fun(fun(x)) ;
于C语言中,子程序的作用是由函数来完成的,无过程的概念。
C语言中,如果函数前不加任何数据类型时,缺省函数的类型为整型,
列如:
fun(float x)
{ float y;
y=3*x-4;
return y;
}
返回值位未定义,按定义函数的返回值位整型。
int * f() 表示f是一个函数,它带回一个指针值,这个指针是指向一个整型数据的。
即:一个返回值为指针型的函数名。
函数:所有函数都是平等的,即在定义函数时是互相独立的,一个函数并不从属于另一函数,即函数不能嵌套定义,但可以互相调用,但不能调用main函数。
所以void *fun()表示声明了一个函数,这个函数的返回值是指向无值型变量的指针。
void (*fun)():fun函数的返回值是无值型的指针类型
函数的声明:
int fun(double x[10], int *n):
要求:函数声明可以照写已定义的函数的首部,再加一个分号就成为了对函数的声明,在函数声明中也可以不写形参名,而只写形参的类型,但要保证与函数首部写法上的一致,即函数类型、函数名、参数个数、参数类型和参数顺序相同。字符数组可用指针来表示,
函数的调用:
int add (int a, int{return(a+b); }
main ()
{int k,(*f)(),a=5,b=10;f=add;…
}
k=(*f)(a,b);
k=add(a,b);
k=f(a,b);
函数的形参和实参的性质。
1.在内存中,实参单元与形参单元是不同的单元。形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量。
实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参。因此应预先用赋值,输入等办法使实参获得确定值。
return返回值语句:
用户定义的函数中可以没有return语句;如果被调函数中没有return语句,并不带回一个确定的、用户所希望得到的函数值,但实际上,函数并不是不带回值,而只是不带回有用的值,带回的是一个不确定的值,为了明确表示"不带回值",可以用"void"定义"无类型",这样,系统就保证不使函数带回任何值,当函数中不需要指明返回值时,可以写成"return" ;一个函数中可以有一个以上的return语句,执行到哪一个return语句,哪一个语句起作用,即返回主函数,不再执行它下面的其他语句,所以后面的值也不会被返回值出去。
C语言标准规定,数组类型和函数类型不可以做为返回值,
C语言中调用数学库要加上#include <math.h>;
库函数:
h是头文件,头文件是包含函数声明和定义的文件,调用输入输出函数时,要求在源文件中包含头文件"stdio.h"。
#include是编译预处理指令,就是在编译前将stdio.h这个文件里的函数都添加到你写的cpp文件中,然后参与编译,生成.obj文件。
1 include(编译预处理指令) ---> stdio.h(源文件)-----> h(头文件)
END
*声明:本文于网络整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。
戳“阅读原文”我们一起进步