简单定义一个函数:
strlen函数:求字符串的长度,遇到‘\0’结束。
这个长度就是3.
strcopy函数:字符串的拷贝。
就是把arr1的4个字符一起拷贝到arr2之中,第五个及其之后都是保持原来的符号不变,但是打印的时候以‘\0’作为结束标志。
memset函数:
把arr字符串的前5个字符用*号来替代。
函数的形式:
得到最大值的函数:
交换两个数:用函数的话必须用指针。
如果不用函数,就在外面交换是可以办到的,但是用函数就不能办到了。
指针是用来存放地址的变量,可以解引用改变值。达到交换的目的。
函数参数的传递:
判断100到200的素数的个数并且打印:
判断闰年的函数:
在一个数组里面找需要的数:
指针小小的使用:
解引用之后自增,值会增加。
函数的声明:针对于函数写在后面的时候。
分装写代码:实现一个计算器。
函数写在.c文件中,声明写在.h文件中。可以更好的分工。
printf函数:
第三个printf输出43,返回值为2,所以第一个printf打印2,返回值为1,第一个printf打印1.返回值指的是元素的个数。
不用重复复制头文件的方法:
函数的递归:
会发生栈溢出,过一会就奔溃。
内存分为三个区,如上图所示。
例题:打印一个数的每一位。
详细过程如下:
一次一次的调用函数。
求字符串的长度:三个方法。
递归方法如下:
求n的阶乘:
以下是递归的方式:
计算斐波那契数: 计算第n项是多少。
这样代码会很复杂,程序会算很久。
第三个斐波那契数列会算几百万次,所以这个递归方式不可取。可以考虑从前往后算。
递归的停止: 并不是有限制条件就一定会停止。比如