递归
递归就是一个函数在它的函数体内调用它本身,递归函数必须有结束条件
局部变量
局部变量定义在函数体内部,其作用域仅限于函数内部。复合语句中也可以定义局部变量,其作用域仅在复合语句中。
全局变量
全局变量定义在函数体外部,也叫外部变量。它的作用域在整个源程序
静态存储方式
程序运行期间分配固定的存储空间的方式
动态存储方式
程序运行期间根据需要动态分配存储空间的方式
存储类别:自动(auto),静态(static),寄存器(register),外部的(extern)
a.变量前不写修饰符则默认使用auto
b.加上static关键字的变量,在函数内部称为静态局部变量,外部称为静态外部变量。在编译时只赋初始值一次,如果没有赋值,则编译时默认赋值为0或空字符。
c.用register修饰的变量,它存放在cpu的寄存器中,效率更高。只有自动变量和形式参数可以用其修饰,且数量有限,不能任意定义多个寄存器变量,局部静态变量不能定义为寄存器变量。
d.用extern修饰的称为外部变量,它的优点是函数可以先使用后赋值!例如函数体中打印它,却在函数体外的下面给它赋值。
内部函数
不能被其他函数调用的函数,被static关键词修饰,又叫静态函数
外部函数
可以别其他函数调用的函数,被extern关键词修饰,函数前不写修饰符默认为外部函数。
数组
连续的,大小固定,且里面的数据类型一致的存储空间
冒泡排序
相邻元素两两比较,较大的数字放在后面,直到所有的数字全部排序
字符串与数组
在C语言中是没法直接定义字符串类型的,但可以用数组来表示
1.char 字符串名称[长度] = "字符串值";
2.char 字符串名称[长度]= {"字符1","字符2","字符3",..."字符n","\0"};
第二种方式必须以"\0"结尾,而且不能有中文