关于函数(C语言)

main函数与库函数

C语言程序中main函数不可缺少,如图

#include<stdio.h>
int main(void)
{
   /*······*/
   return 0;
}

程序运行的时候,会执行main函数的主体部分。main函数使用的printf scanf puts等函数,是由c语言提供的函数,称为库函数。

 函数创建(函数定义)

函数定义由函数头和函数体组成

 函数头部分表示函数的名称和格式。包括了函数的返回类型即返回值的类型,函数名和形参声明,函数名后括号里的部分,是形式参数的声明。

/*函数定义*/
int max(int a,int b)/*返回类型为int型,函数名为max,形参类型为int,接受多个形参时用逗 
{                     号分隔*/
    if(a>b)
      return a;
     else           /*函数体*/
       return b;
}

函数体是复合语句。仅在某个函数中使用的变量,应在函数中声明和使用,但不能声明和形参同名的变量,避免发生变量名冲突的错误。

 函数调用

 函数调用时使用函数名

#include<stdio.h>
int max(int a,int b)
{
   if(a>b)
     return a;     /*函数定义*/
    else
     return b;
}
int main()
{
    int m,n;
    printf("输入两个整数:");
    scanf("%d %d",&m,&n);
    printf("较大的数是%d\n",max(m,n));/*函数调用*/
    return 0;
}

函数调用的形式是在函数名后加上小括号,这个小括号称为函数调用运算符,括起来的是实参,被调用的函数会生成用于形参的变量,并赋予其实参的值。进而执行函数体,在遇到return语句或大括号后,将返回原来被调用的地方,继续执行main函数。

没有返回值的函数

有的函数只是用来void没有需要返回的结果。这种没有返回值的类型,要声明为void。(void 函数名(形参声明)      int main(void))

函数不接受形参时(函数名后括号内为void),调用方也不用赋予实参(函数调用运算符内是空的)

作用域

在函数中声明的变量的名称,只在该函数中通用而在其他区域无效。这样的作用域称为块作用域

在函数外声明的变量标识符,从声明的位置开始到程序的结尾都是通用的。称为文件作用域。

包含库函数的函数原型声明的<stdio.h>称为头文件,取得头文件内容的#include指令称为文件包含指令。

存储期 

 存储期也就是变量的生存期    存储类说明符static

自动存储期

   在函数中不使用存储类说明符static而定义出的对象,被赋予了自动存储期。程序执行到对象声明地时候创建出相应的对象,而执行到程序块的结尾时对象就会消失。如果不对其进行显式的初始化,则会被初始化为不确定的值。

静态存储期

   在函数中使用static定义出来的对象,或者在函数外声明定义出来的对象都被赋予静态存储期。在程序开始执行的时候被创建,在程序结束时消失。不进行显式的初始化,会自动初始化为0.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值