C语言入门:函数定义和调用

一,函数定义

举例:
例子1: int FunctionDamon1(); /* 这个函数声明包含了“ 返回值类型 函数名称 和括号()” , 没有函数参数,有函数参数的例子如下*/

例子2; int FunctionDamon2(int valuable1, double valuable2 ); /* 括号里是函数的参数,参数可以是任意的数据类型,参数个数不限制,可以是0(即没有,如例子1),也可以是一个或多个。 */

例子3: void FunctionDamon3(int val1, double val2 ); /* 这个例子要说明的是,函数前面的void 是声明函数的返回值类型为空,而前面的例子返回值类型是int。函数的返回值类型可以是任意类型,根据你函数运行结果而定,比如函数运行后要返回一个整型的数,那么函数的返回值,类型就是int类型。 */

例子4: void FunctionDamon4 ( void ); /* 函数的返回值类型和参数都可以为空,当函数的返回值类型为空的时候,void一般不省略,当函数的参数为空的时候一般只写括号,如例子1,也可以写void,如例子4。总的来说void可省 */

例子5:完整的一个函数定义例子

int add(){
    int a,b,sum
    a=2; 
    b=3;
    sum=a+b;
    printf("sum=%d",sum);
    return 1; /*返回值为整型,所以返回值类型是int */
}

二,函数的调用

举例:
例子1: 函数要在被调用之前被声明。(这一点和java的不同,java可以在任意文件声明,只要拥有调用的权限就可以随意调用)

#include 
main(){
    /* 在这里调用另一个函数 */
    Function();
}

void Function(){};  /* 定义了一个新的函数 */
}

上面代码编译通过,但是运行出错:
这里写图片描述
意思:函数没有声明;

正确的写法是:

#include 
/* 在这里声明函数 */
void Function();
main(){
    /* 在这里调用另一个函数 */
    Function();
}

void Function(){};  /* 定义了一个新的函数 */
}

被调用的函数必须在被调用的位置之前进行声明,如下;如果函数的定义代码本来就在被调用的位置之前,则不需要重新声明

比如:

#include 
/* Function 函数在这里声明定义好了 */
int FunctionDamon1(){
};

main(){
    /* 函数在前面已经声明了 不需要重新声明 */
    FunctionDamon1();
}

总结: 函数在被调用的代码位置之前,总是要先被声明

你可能感兴趣的:(C语言)