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; } }
***完***
本文来自博客园,作者:口乞厂几,转载请注明原文链接:https://www.cnblogs.com/laijianwei/p/14530296.html

浙公网安备 33010602011771号