• C语言函数


    C语言函数

    一、函数

    C语言程序是由函数构成的,每个函数负责完成一部分的功能,函数将工恩呢该封装起来,以供程序调用。

     

    二、函数定义

    目的:将一些常用的功能封装起来,以供日后调用。

    步骤:确定函数名,确定函数体,调用

    格式:返回值类型 函数名(形式参数列表)

      {  函数体 }

     

    三、函数调用

    定义函数需要明确定的东西:

    ①. 取一个有意义的函数名

    ②. 确定函数的形参

    ③. 编写函数体

    ④. 返回值

    示例:

    Int average(int num1,int num2)

    {

    Return  (num1+num2)/2;

    }

    int main()

    {

    Int a=1;

    Int b=3;

    Int c=average(a,b); //调用函数

    Return 0;

    }

      

     四、参数

    ①. 形参:定义函数时,函数名后面的参数 如num1和num2

    ②. 实参:调用函数时,传人的具体数据   如a和b

    ③. 形参和实参的个数必须相等

    ④. 函数体内部不能定义和形参同名的变量

    ⑤. 如果是基本的数据类型作为形参,则是纯粹的值传递,修改函数内部形参的值并不会影响到实参的值

    ⑥. 一个函数可以没有形参,也可以有无限个形参

     

    五、函数的返回值

    (一)Return 的作用:

    ①. 退出函数

    ②. 返回一个具体的值给函数的调用者

    (二)返回值使用注意:

    ①. C语言是弱语法弱类型的语言,非常不严格

    ②. 如果没有写清楚返回值的类型,则默认为int型的

    ③. Void代表没有返回值

    ④. 就算明确声明了返回值类型,也可以不返回任何的值

    ⑤. C语言默认情况下,不允许有两个同名的函数

    六、函数使用注意

    ①. 默认不允许函数重名

    ②. 函数之间是平等的,不能够嵌套定义

    ③. 函数不可以重复定义,但是可以重复声明,只要是在调用前声明就可以,地方随便

    ④. 函数如果是只要声明没有定义,那么编译可以成功,但链接时会失效

    七、多人协作

    #include<.stdio.h>是一个系统头文件。

    #include<abc.txt>相当于把abc.txt文件中的所用内容以纯文本的方式拷贝到当前位置。

    “”表示文件与.c文件处于同一路径,可以使用相对路径也可以使用绝对路径。左边有/的是绝对路径,没有/则为相对路径。

    注意:自定义的文件使用“”,系统文件使用<>。

    函数如果在调用时,函数定义在调用之后,且前面没有进行相应的声明,则编译器报错;

    调用函数,没有函数声明,编译器不会报错,链接时报错,不定义函数反而不报错。

    链接:把项目中所以相关的.o目标文件和c语言的函数库合并在一起,生成可执行文件。

    通常:

    ①. 函数的定义放在.c文件中,函数的声明放在.h文件中

    ②. 如果要是有某个.c文件中定义的函数,只需要包含.c文件对应的.h文件即可

    ③. .h文件生下来就是打酱油被别人拿来拷贝包含的,编译链接时不用写出

     

    八、补充

    (1)main函数的返回值是返回给操作系统的,0为正常退出,其他值为非正常退出。用以进行系统日志,其实它返回任何值对程序本身没有影响,仅仅只是标记

    (2)Printf函数的返回值为字符数。如printf(“abc”);则返回值为3,若printf(“abc男 ”);的返回值为7,因为一个中文占3个字符。

  • 相关阅读:
    windows server 2012 如何开启 hyper-v 并创建虚拟机
    ABP框架系列之二十四:(Email-Sending-EF-电子邮件发送)
    ABP框架系列之二十三:(EF-MySql-Integration-EF-MySql-集成)
    ABP框架系列之二十二:(Dynamic-Web-API-动态WebApi)
    ABP框架系列之二十一:(Domain-Services-领域服务)
    ABP框架系列之二十:(Dependency-Injection-依赖注入)
    ABP框架系列之十九:(Debugging-调试)
    ABP框架系列之十八:(Data-Transfer-Objects-数据转换对象)
    ABP框架系列之十七:(Data-Filters-数据过滤)
    ABP框架系列之十六:(Dapper-Integration-Dapper集成)
  • 原文地址:https://www.cnblogs.com/dondre/p/4091829.html
Copyright © 2020-2023  润新知