C语言入门---第七章 C语言函数
函数就是一段封装好的,可以重复使用的代码,它使得我们的程序更加模块化,不需要编写大量重复的代码。函数可以提前保存起来,并给它起一个独一无二的名字,只要知道它的名字就能使用这段代码。函数还可以接收数据,并根据数据的不同做出不同的操作,最后再把处理结果反馈给我们。
====比较字符串的大小:strcmp() 函数====
#include<stdio.h>
#include<string.h>
int main() {
char str1[] = "haozhijian";
char str2[] = "huangqinjie";
int result,i;
// 比较两个字符串大小
for( i = 0; (result = strl1[i] - strl2[i]) == 0; i++){
if(strl[i] == ‘\0’ || strl2[i] == '\0'){ break;}
}
printf(strl1 - strl2 = %d\n", result);
return 0 ;
}
形参与实参
形参:在函数定义中出现的参数可以看作是一个占位符,他没有数据,只能等到函数被调用时接收传递进来的数据,所以称为形式参数,简称形参。
实参:函数被调用时给出的参数包含了实实在在的数据,会被函数内部的代码使用,所以称为实际参数,简称实参。
形参和实参的区别和联系:
1. 形参变量只有在函数被调用时才分配内存,调用结束后,立即释放内存,所以形参只有在函数内部有效,不能在函数外部使用。
2. 实参可以是常量、变量、表达式、函数等,无论是惨是何种类型的数据,在进行函数调用时,它们都必须有确定的值,以便这些值传给形参,所以因嘎嘎i提前用赋值、输入等办法使实参获得确定值。
3. 函数调用中发生的数据传递是单向的,只能把实参的值传递给形参。
====函数返回值(return 关键字)精讲
函数的返回值是指函数被调用之后,执行函数体中的代码所得到的结果,这个结果通过return 语句返回。
======函数声明以及函数原型====
C语言代码由上倒下一次执行,原则上函数定义要出现在函数调用之前,否则就会报错。但在实际开发中,经常在函数定义之前使用它们,这个时候就需要提前声明。
声明:就是告诉编译器我要使用这个函数,你现在没有找到它的定义不要紧,请不要报错,我稍后会把定义补上。
在实际开发过程中,对于多个文件的程序,通常是将函数定义放到源文件中,将函数的声明放到投文件中,使用函数时引用对应的投文件就剋,编译器会在链接阶段找到函数体。
函数参考手册: www.cpluscplus.com ,它提供了所有C语言标准函数的原型,并给出了详细的介绍和使用示例,可以作为一部权威的参考手册。
===7.10 C语言递归函数(递归调用)详解[带实例演示]
一个函数在它的函数体内调用它自身称为递归调用,这种函数称为递归函数。执行递归函数将反复调用其自身,每调用一次就进入新的一层,当最内层的函数执行完毕后,再一层一层地由内到外退出。
递归的缺陷:时间开销和内存开销都非常大,极端情况下会导致程序奔溃。
===============
头文件:<stdio.h> 、<ctype.h>、<stdlib.h>、<strng.h>
熟练的程序员: <assert.h>、<limits.h>、<stddef.h>、<time.h>
优秀的程序员:<float.h>、<math.h>、<error.h>、<locale.h>、<setjmp.h>、<signal.h>、<stdarg.h>
===============