简述c语言中用户自定义函数由哪几部分组成

Python016

简述c语言中用户自定义函数由哪几部分组成,第1张

定义一个函数我们需要确定以下内容:

1、函数的返回值类型

2、函数的名称

3、函数的参数

4、函数主体代码块

示例代码:

int definePlus(int a, int b)

{

  

a = a + 1

 

b = b + 1  

return a + b

}

例如上面代码中就定义了一个返回值为int类型的函数,其函数名为definePlus,一对小括号中的内容为这个函数的参数,也就是说这个函数有两个传入参数int a和int b。

在函数体内,分别让a在原来的基础上加1,让b在原来的基础上加1,然后使用return关键字返回a + b的和。如果a的值是2,而b的值是3,那么这个函数的返回值则是7。

扩展资料

函数的调用与声明

如果函数的定义是在调用函数的后面则需要在调用之前声明函数的定义,否则不需要事先声明。声明的意思是告诉编译器,这个函数的返回值类型、函数名和参数。

在调用一个函数时,需要向这个函数传其需要的参数,例如a和b这两个变量,并可以指定另一个变量用于接收这个函数执行后的返回值,比如变量c就接收了函数wrongplus()的返回值,结果为7。

但是我们看到程序的运行结果是 2 + 3 = 7,也就是说,执行了函数wrongplus()后,我们虽然对函数内的参数变量分别加1,但主函数main中的a和b的值并没有发生变化。示例代码:

#include <stdio.h>

main()

{

int a = 2, b = 3

int c

int wrongplus(int a, int b)

c = wrongplus(a, b)

printf("%d + %d = %d\n",a, b, c)

}

int wrongplus(int a, int b){

  

a = a + 1

  

b = b + 1  

return a + b

}

2 + 3 = 7

函数调用过程如下:

参数入栈

执行流转到函数开始地址

执行函数

函数执行完毕,返回。

平衡堆栈

大致是这样,根据调用约定不同,可能会有稍许差别。

记得一本国家二级C语言考试应试过关练习上有这样的题,好像是一道填空题,正确答案是:C程序是由包(含文件)和(函数)组成的。由于当时本人写的是……由(含文件)和(语句)组成的,所以印象比较深刻。