sizeof运算符
C语言运算符优先级表格
函数的返回
常规程序中,函数返回的指针通常应该是:
(1)指向静态(static)变量;
(2)指向专门申请分配的(如用malloc)空间;//malloc申请的空间只能用free释放。\n\n//即使是在自定义函数中使用malloc申请的内存空间,在函数返回时也不会释放,直到程序结束。
(3)指向常量区(如指向字符串\"hello\");
(4)指向全局变量;
(5)指向程序代码区(如指向函数的指针)。
除这5项以外,其它怪技巧不提倡。
函数的递归
一、什么是递归?
在一个过程或函数执行过程中直接或间接的调用自己本身,这就称为递归调用。C 语言中允许函数递归,在函数中直接调用函数本身称为直接递归调用。在函数中调用其他函数,其他函数又调用原函数,称为间接递归。
二、递归的关键点和优缺点。
1、递归的两个关键点
递归边界和递归公式
2、递归的优点
递归可以将大型复杂问题简单化转化成规模较小的问题,减少代码量。
3、递归的缺点\n递归重复次数过多会出现栈溢出;而且过多的重复计算会降低效率。
4、递归的两个必要条件
(1)递归必须在一定的限制条件下进行;(2)每次递归后都会越来越接近这个限制条件。
函数的调用
函数调用是指一个函数暂时中断运行,去执行另一个函数的过程
函数语句调用方式:用于调用没有返回值的函数。
函数表达式调用方式:用于调用有返回值的函数。