黑马程序员:__函数参数、声明、定义等注意事项__

来源:互联网 发布:三菱gxworks3软件下载 编辑:程序博客网 时间:2024/06/05 04:09

函数声明、定义需要注意:

 1.默认情况下,不允许有函数的名称一样
 2.函数不能嵌套定义
 3.函数不能重复定义,但是可以重复声明
 4.如果有函数的声明,没有函数的定义
 5.编译可以通过,因为编译器只会检测语法合不合理,并不会检测函数有没有定义
 6.链接报错,因为链接的时候会检测函数是否定义

用视频里的小例子:
打印两个整数的差
打印一条横线
打印n条横线


#include <stdio.h>


void printLines(int n)
{
    for (int i = 0; i<n; i++)
    {
        printf("-------------------\n");
    }
}


void printLine()
{
    printf("-------------------\n");
}


int minus(int a, int b)
{
    return a - b;
}


int main()
{
    printLines(14);


    printf("%d\n", minus(90, 20));
    
    return 0;
}


参数注意点
 1.形式参数:定义函数时函数名后面中的参数,简称形参
 2.实际参数:调用函数式传入的具体数据,简称实参
 3.实参个数必须等于形参个数
 4.函数体内部不能定义和形参一样的变量
 5.如果是基本数据类型作为函数形参,纯粹是值传递,修改函数内部形参的值,并不会影响外面实参的值
 6.一个函数可以没有形参,也可以有无限多个形参

 7.如果不明确声明返回值类型,默认就是int类型

 include
 1> 作用:拷贝右边文件的所有内容到#include所在的位置 
 2> 自定义的文件用"",系统自带的文件用<>
 3> #include <stdio.h>的目的:拷贝printf函数的声明<不声明而直接用会报错>

.h文件和.c文件的分工
1.单文件的坏处
一个文件的内容太多,不利于阅读、调试
多人修改同一个文件出问题
公司里面是团队合作
2.将sum函数抽取到另一个.c文件中
先直接调用sum函数,编译警告、链接main.c错误
#include “sum.c” , 编译链接main.c,运行成功
如果avr.c中使用sum.c,编译链接main.c,运行程序
3.在其他文件中声明sum函数
int sum(int,int);  
编译链接main.c
编译链接sum.c
编译链接main.c  sum.c,运行成功
avr.c利用一样的方法
4.将int sum(int,int)抽取到另外一个文件中
不抽取声明的坏处:增加新的函数了
抽取到.c文件中,开发工具会将所有的.c进行编译链接
抽取到.h文件中
5.抽取步骤总结
.c文件写函数的定义
.h文件写函数的声明
要想用我的函数,请包含我的.h文件


0 0