一 认识函数
函数特点:降低耦合性和提高复用性。
1.从用户看 ,函数有两种
2.从函数形式分为两种
1.无参函数:可以带回或不带回函数值,以void
二 函数定义的形式
1.无参函数的定义形式:
2. 有参函数的定义形式:
3.空函数形式:
三.形参和实参
(3) 在被定义的函数中,必须指定形参的类型。
(4) 形参与实参的类型必须相同或兼容。
(5) 在C语言中,实参向形参的数据传递是"值传递",单向传递,只能由实参传给形参,而不能由形参传给实参。
如果发生改变,并不会改变主调函数的实参的值。
四 函数的返回值
用return表示,返回的类型由当时定义的类型决定。
五 函数的调用
调用与定义的类型和个数应该一样。
形参从右向左依次调用,
分为三种方法
六.RAM中的五个区
(1)栈区:存放函数调用时将来要返回的地址、形参、局部变量等,在栈中遵循FILO规则:先进的后出,后进的先出。入栈又称为“保护现场”,出栈又称为“恢复现场”。Linux系统中栈区大概占8M。Windows系统中约占1M。
(2)堆区:堆是用于存放进程运行中被动态分配的内存段,它的大小并不固定,可动态扩张或缩减。堆区空间使用时需申请。
(3)字符串常量区:存放常量字符串。
(4)代码区:通常是指用来存放程序执行代码的一块内存区域。
(5)静态区(全局区):存放全局变量和静态变量,初始化的全局变量和静态变量存放在一块区域(BSS区),未初始化的全局变量和静态变量在相邻的另一块区域(sata数据区)。