c函数基本(完)

内容概要

  一、函数使用的三步骤

  二、函数类型

  三、函数形式参数和实参

 

1、函数使用的三步骤

  与python不同的是,python只需要定义和调用,没有声明阶段

  -声明

    声明就是跟编译器解释,我将有一个函数my_printf()要使用,如果你在编译的时候,函数还没有定义,不要急着报错,再去找找看其他地方有没有定义。

    一个函数定义一次就够,而声明可以声明很多次,声明只是告诉编译器有这个函数,并不会真的消耗内存空间

    声明和定义的区别在于是否开辟了内存空间

    int my_printf();

  -定义

    定义是会消耗内存空间的

    int my_printf(){

      printf("hello world\n");

    }

  -调用

    my_printf();

#include <stdio.h>

void my_printf();  //声明

void my_printf(){  //定义
    printf("hello world\n");
}

int main(){
    my_printf();  //调用
    printf("\n");
    my_printf();  //某段代码可以重复执行了
    return 0;
}

 

  尝试省略声明步骤

    结果也可以执行

#include <stdio.h>
void my_printf(){
    printf("hello world\n");
}

int main(){
    my_printf();
    printf("\n");
    my_printf();
    return 0;
}

  但是如果有声明步骤,那么函数可以在“定义前调用”

  这在python中可是绝对不行的

#include <stdio.h>

void my_printf();  //声明

int main(){
    my_printf();  //调用
    printf("\n");
    my_printf();  //调用
    return 0;
}

void my_printf(){
    printf("hello world\n");  //定义
}

 

2、函数类型

  函数的类型指的是函数返回值的类型

#include <stdio.h>

void my_printf();  // 无返回值的函数
int main(){ my_printf(); printf("\n"); my_printf(); return 0; }
void my_printf(){ printf("hello world\n"); }
#include <stdio.h>

int number();  // 返回值为整形的函数

int main(){
    int i,j;
    i = number();
    printf("\n");
    j = number();
    
    printf("i : %d, j : %d\n",i,j);
    
    return 0;
}

int number(){
    return 10;
}

 

 

3、函数形式参数和实参

  与python不同的是,c函数定义,声明时形式参数也是要指定参数类型的,只有实际参数不需要

#include <stdio.h>

int max(int a,int b);  //声明时指定了类型
// 声明也可以写成这样int max(int,int); 省略变量名,但是类型不能省
int main(){ int a,b,c; printf("please input two number:"); scanf("%d%d",&a,&b); c = max(a,b); //调用时没有指明类型 printf("bigger number is %d\n"); return 0; } int max(int a,int b){ //返回两个数中大的那一个 if (a>b){ return a; } else{ return b; } }
#include <stdio.h>

int max(int a,b);  //想试试像变量名那样定义,结果报错了

int main(){
    int a,b,c;
    
    printf("please input two number:");
    scanf("%d%d",&a,&b);
    
    c = max(a,b);
    
    printf("bigger number is %d\n");
    
    return 0;
}

int max(int a,b){  //这里也是
    if (a>b){
        return a;
    }
    else{
        return b;
    }
}

 

***完***

posted @ 2021-03-13 20:44  口乞厂几  阅读(88)  评论(0)    收藏  举报