20161215C语言基础14_函数
来源:互联网 发布:htct328t软件下载 编辑:程序博客网 时间:2024/06/07 17:19
C语言:
1:过程语言,把执行过程分解成一个一个的函数,这样方便管理
2:方便我们多次调用,节约工程师的生命(不用一个函数写很多遍)!节约内存。
函数:
1:函数 名称
C语言中必须唯一,不可以重复。
2:参数可以使多种多样的,可以自己定义,函数中封装的是算法,当前算法需要用那些数据就可以把这些参数传进去,在算法中就可以取得到这些值,进行一步一步地计算。
3:返回值必须返回指定类型的数据!!!函数的参数是怎么传到函数内部去的,每个函数都可以认为是一个单独的个体,认为每个函数都拥有一个独立的栈,叫栈帧!一个函数无法方位其他函数的栈帧!一个新的函数执行完成之后(碰到return),函数就会将里面的栈(栈帧)清空,如果再次调用这个函数,就会再次申请栈帧,这样一来,函数里面的局部变量就会失效。
函数是通过栈来传递参数的,栈之间的地址是相通的,传递的并非变量本身,
他只是将这个需要传递的值放到eax里面,然后push了一个新的地址,仅仅值是一样的,里面要改变也只是改变的假变量。如果函数需要的并不是返回值,而是真实的需要改变传进来的变量,就需要传递指针!
函数的传递参数应该是指针,*p,调用的时候应该输入地址!这样在反汇编下,就会直接用lea取地址,把地址传递给了下一个函数。
这里第二个push的就是参数的地址值。被调用函数里面操作也要加上*。否则仅仅操作的是地址,而没有改变值。加*就是解出来,对内存进行操作。
1 0
- 20161215C语言基础14_函数
- 20161215C语言基础15_函数2
- C语言_函数
- C语言_函数
- C语言_函数
- 20161216C语言基础18_字符串处理函数
- 20161216C语言基础19_文件处理函数
- C语言_深入函数
- C语言_指针函数
- C语言_函数指针
- C语言基础 函数
- C语言基础 函数
- [C++][基础]4_函数
- C语言_函数_例子
- 20161215C语言基础13_分支语句
- 一:PHP语言基础_自定义函数
- 一:PHP语言基础_自定义函数
- 一:PHP语言基础_自定义函数
- EDM内容灵感枯竭?试试扒扒这5个坑
- native给weex页面传值以及Weex调用native方法(iOS端)
- Java连接elasticsearch
- iOS中H5向native传值或从H5跳转到native
- JSPatch在Swift项目中的使用
- 20161215C语言基础14_函数
- 任务栏出现两列点状
- webpack教程
- ORM——基本思想
- MyBatis中xml文件中模糊查询的写法
- SVN更新的时候前面的U与G是什么意思?
- js apply和js call方法详解
- 如何抑制索引的使用
- 关于使用JSPatch重写setter方法