滴水逆向联盟

标题: 函数调用应具备的条件? [打印本页]

作者: 大禹治水    时间: 2014-11-20 07:38
标题: 函数调用应具备的条件?

在主调函数调用某函数之前,应对该被调函数进行说明(声明),这与使用变量之前

要先进行变量声明是一样的,那么函数调用应具备那些条件呢?

在主调函数中对被调函数进行声明的目的是编译系统知道被调函数返回值的类型

以便在主调函数中按此种类型对返回值进行相应的处理。

其一般形式为:

类型声明符 被调函数名(类型 形参,类型 形参……);

或者

  类型声明符 被调函数名(类型 ,类型……);

括号内给出形参的类型和形参名,或者只给出形参类型,这便于编译系统进行检错,以防止出现的错误。

在C语言中又规定,在以下几种情况下可以省去主调函数中对被调函数得声明。

1. 如果被调函数得返回值是整型或字符型,可以不对被调函数进行声明,直接调用。
    这时系统将会自动对被调函数返回值按整型处理。

2.当被调函数出现在主调函数之前,在主调函数中个可以不对被调函数在走出声明而直接调用。

3.如在所有函数定义之前,在函数外预先声明了各个函数的类型,则在以后的各主调函数中,可以不在对被调函数进行声明

例如:
  1. char str(int a);
  2. float f(float b);
  3. maint ()
  4. {
  5.         ……
  6. }
  7. char str(int a);
  8. {
  9.         ……
  10. }
  11. float f(float b);
  12. {
  13.         ……
  14. }
复制代码

其中第一第二行对 str() 函数和 f() 函数预先作出了声明,因此在以后各函数中,无须对 str() 和 f() 作出声明就可以调用。

对库函数的调用不需要再作出声明,但必须把该函数得头文件用 include 命令包含在源文件头部。



作者: 夺命书生    时间: 2014-11-20 07:40
还真没仔细看过。:lol




欢迎光临 滴水逆向联盟 (http://dtdebug.com/) Powered by Discuz! X3.2