第八章函数十个问题及解答

来源:互联网 发布:手机淘宝怎么样找客服 编辑:程序博客网 时间:2024/06/06 07:25

1.c源程序的函数有什么特点?

  函数是c源程序的基本模块,通过对函数模块的调用可以实现特定功能,而main函数是主函数,它可以调用其他函数,而不允许被其他函数调用,因此c程序的执行总是从main函数开始的,完成对其他函数的调用后在返回到main函数,最后由main函数结束整个程序。一个c源程序必须有、也只能有一个主函数main

 

 

2.无参函数和有参函数的定义形式以及它们的特点是什么?

  无参函数的定义形式:

  类型标识符  函数名()

  {

      语句

  }

 

  有参函数的定义形式:

  类型标识符  函数名(形式参数表列)

  {

      声明部分

      语句

  }

  类型标识符和函数名称为函数头,类型标识符指明了本函数的类型,函数的类型实际上是函数返回值的类型。函数名是由用户定义下的标识符。有参函数比无参函数多了一个内容,即形式参数(形参)表列。在形参表列中给出的参数称为形式参数,它们可以是各种类型的变量,各参数之间可以用逗号间隔,在进行函数调用时,主调函数将赋予这些形式参数实际的值。

 

 

3.声明与定义不同的地方在哪?

  函数的声明就是声称一个函数的名字,只是说明函数的名字,不涉及函数的实现,即没有函数体。函数的定义就是确定一个函数的意义,即让函数具有某项功能,包含了一个函数的所有部分。

 

 

4. 形式参数和实际参数的区别?

形式参数:定义函数时函数名后面括号中的变量名

实际参数:调用函数时函数名后面括号中的表达式

 

 

5.函数参数有哪些类型?

简单变量或数组元素作为函数参数;

指针变量或数组名作为函数参数;

数组名作为函数参数;

结构体数组作为函数参数。

 

 

6.如何编写有多个返回值的c语言函数?

1) 利用全局变量

2) 传递数组指针

3) 传递结构体指针

 

 

7.什么是回调函数?

  简而言之,回调函数是一个通过函数指针调用的函数。如果你把函数指针(函数的入口地址)传递给另一个函数,当这个函数指针被用来调用它所指向的函数时,我们就说这个函数是回调函数。

 

 

8.回调函数的作用?

  当我们想用一个统一接口实现不同的时候,用回调函数就非常适合。任何时候,如果所编写的函数必须能够在不同的时刻执行不同的类型的工作或者执行只能由函数调用者定义的工作,都可以用回调函数来实现。

 

 

9.使用可变参数的步骤?

1) 在程序中找到所要用的宏;

2) 函数类型里定义一个变量,这个变量是存储参数地址的指针,得到参数的地址以后,再结合参数的类型,才能得到参数的值;

3) 使用宏初始化中定义的变量;

4) 依次用宏使定义的变量返回可变参数的地址,得到这个地址之后,结合参数的类型,就可以得到参数的值;

5) 设定结束条件。

 

 

10. 地址传递的特点是什么?

地址传递方式:

函数调用时,将数据的存储地址作为参数传递给形参

特点:

形参与实参占用同样的存储单元;

“双向”传递;

实参和形参必须是地址常量或变量;