C语言是面向过程的语言(以模块(函数)为单位)
函数:就是一个过程(解决一个问题的过程--完成某个功能:如完成排序)
1、函数分类:
1.1、自定义函数
返回值 函数名(形参--用于传递值)
{
函数体;//模块的过程
return 返回值
}
自定义函数:无返回值 无形参
void 函数名(形参列表--void(表示无形参,无返回值))
{
return ;//函数结束--返回一个空语句
}
有返回值 (结果:数据)无形参
返回值类型 函数名(void)
{
函数体
return 返回值;
}
有返回值 函数名(形1 形2 形3)
{
函数体
}
形参:函数形参列表中定义的变量
实参:调用函数式传递的值
1.1.1、主函数:系统开始运行时程序的入口函数
1.2、系统函数:系统提供的功能(模块)printf
2、定义函数:
调用函数:执行“一次”函数的过程
函数名();
注:1、函数必须定义--一定要存在
*函数表达式 结果
2、形参必须匹配
变量:类型 变量名;(分配空间)
引用变量:引用变量的内容
注:引用变量,要注意作用域
作用域:能被引用的范围
1、全局变量(每个模块都可以使用--缺点:高内聚,低耦合(每个模块相互联系,不独立)):函数外定义
作用域:从定义开始,到本文件结束
2、局部变量:在函数内定义的变量(形参。函数内定义)
作用域:只在函数内
注:在同一作用域,不允许出现重名现象
生命周期:空间从分配开始,到运行结束。
1、栈区(动态区):当函数运行开始,空间被申请;运行结束,空间被释放
定义变量:【auto】【有无符号】类型 变量名(只能在函数内)
2、静态区:程序运行开始时空间被申请,运行结束,空间释放
两者区别:一个为函数,一个为程序
3、堆区(程序员区)