函数的知识点整理

2018-09-03  本文已影响0人  超级皮波9

函数

返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,…) {
    函数体;
    返回值;
}

例如 main 函数

int main(){
    printf("hello world\n");
    retrun 0;
}

注意点


函数调用

C语言规定:
如果将函数的定义写在了函数调用之后,那么必须在调用之前编写函数的声明

#include <stdio.h>

void test();    //void test(); 就属于函数的声明

int main(){
    return 0;
}

void test()    //这就是定义了一个函数
{
    printf("test\n");    //具体的功能
}

函数定义的注意点

  1. 函数的名称不能相同
  2. 函数不能嵌套定义,不能重复定义函数 会报错
  3. 如果是基本数据最为函数的参数,那么在函数内修改形参, 不会影响外面实参的值 例如
#include <stdio.h>
//定义了一个函数change 函数
void change ( int num){
        num = 666;
}
int main ( int argc , const char *argv[]{
        int a = 10; 
        printf( "a = %i\n");  //  调用函数前a = 10;
        change( a );   //调用函数
        printf( " a = %i\n" );  // 调用函数后a = 10 
        return 0;
}
  1. 函数内部不能定义和形参同名的变量

注意点

  1. 如果不按照C语言的规定在函数调用之前进行函数的声明,在不同的编译器会有不同的结果,可能会报错
  2. 由于函数的声明是为了告诉编译器有一个A函数 , 所以函数的声明可以多次声明,但是函数的实现只能实现一次
    3.函数声明的时候,不用指定形参的名字 例如
#include <stdio.h>
函数声明
int sum (int,int);

int main(){

    return 0;
}

函数的定义
int sum(int a, int b){
    return a + b;
}

main 函数

  1. main 函数是系统自动调用的函数,我们不能手动调用
  2. 系统在调用main函数的时候,默认会传入两个参数
  1. main函数中return 0 的含义
#include <stdio.h>
int main(int argc /* 代表argv中数据的个数*/, const char *argv[]){
      
      // 默认情况下, 系统在调用main函数的时候, 会给argv这个数组中存放一个元素
       printf( "argv[0] = %s\n "); //当前文件的地址
       return 0;
}

函数的分类

void test(){
   printf("test1\n");
}
void test(int age){
    printf("age = %i\n", age);
}
int test(){
    return 998;
}
int test( int a , int b ){
    return a + b ;
}

注意点
1 如果没有写函数的返回值类型,默认的就是 int 类型
2 如果函数的返回值类型实际返回的类型不同, 会隐式(自动转换) 转换为返回的数据类型


递归函数

int pow(int base, int n){
    if(n == 0){
        return 1;
    }else{
        return pow(base, n-1) * base;
    }
}

注意点

上一篇 下一篇

猜你喜欢

热点阅读