关于作用域的心得 理解还是有错误
2007-09-05 22:14
295 查看
在程序最后结束的时候发生了一个小插曲,就是这个插曲让我自己明白我的一个理论性的错误。
函数的的调用,其实对于计算机它是通过栈来实现的,父函数调用子函数时候,会把父函数放入栈 ,计算机执行当前函数,当前函数可以操作父函数里的变量,数组等等,通过参数。但如果不是改变的变量等的内容,而是所占空间的大小呢。那么会怎么样?
我这次的程序就发生这个问题,我传给子函数一个地址,却在子函数里开辟空间,让地址指向它。我以前一直以为对于作用域只针对于事先定义的变量,对于动态分配的空间没关系。我百思不得其解,后请教老师,老师点拨了我,重新回想函数调用的原理时候,我真正的明白了。
对于函数的调用,子函数可以操作父函数数据的内容,但父函数不可以使用子函数任何的资源,除了返回值。
======================================================
理解还是有错误,函数的调用原理没错,在作用域上有错误,开辟空间不是在函数空间开辟,而是在全局开辟。
函数的的调用,其实对于计算机它是通过栈来实现的,父函数调用子函数时候,会把父函数放入栈 ,计算机执行当前函数,当前函数可以操作父函数里的变量,数组等等,通过参数。但如果不是改变的变量等的内容,而是所占空间的大小呢。那么会怎么样?
我这次的程序就发生这个问题,我传给子函数一个地址,却在子函数里开辟空间,让地址指向它。我以前一直以为对于作用域只针对于事先定义的变量,对于动态分配的空间没关系。我百思不得其解,后请教老师,老师点拨了我,重新回想函数调用的原理时候,我真正的明白了。
对于函数的调用,子函数可以操作父函数数据的内容,但父函数不可以使用子函数任何的资源,除了返回值。
======================================================
理解还是有错误,函数的调用原理没错,在作用域上有错误,开辟空间不是在函数空间开辟,而是在全局开辟。
相关文章推荐
- 前言-关于学习OC还是学习Swift的个人理解
- 关于OleDB连接Excel的Extended Properties(扩展属性)HDR=YES; IMEX=2个人理解心得
- C#关于"该进程无法访问文件,因为该文件正由另一进程使用"的错误的一点心得(示例)
- 心得分享:关于对Android的理解,知识点梳理
- (转载+心得) 关于添加了一个lib之后的链接错误2005
- 关于canvas的学习心得(三)(计算错误)
- 关于下拉刷新你是否真的非常理解还是只会搬砖?附 Android 实例子源代码文件下载地址380个合集
- 关于linux设备驱动模型,今天做一个简单的理解总结,可能有错误,后面可能会更正
- 关于OleDB连接Excel的Extended Properties(扩展属性)HDR=YES; IMEX=2个人理解心得
- 关于OleDB连接Excel的Extended Properties(扩展属性)HDR=YES; IMEX=2个人理解心得
- 关于EINTR错误的理解【转】
- 关于mysql错误:Illegal mix of collations for operation '='的理解
- 关于先有鸡蛋还是先有鸡的理解
- ABAP--关于abap语言的一个错误的理解
- linux内核源代码学习(3)关于一些数据结构和一个理解 错误
- 关于JS中作用域的一些理解
- JavaScript关于作用域、作用域链和闭包的理解
- Keras关于LSTM的units参数,还是不理解?
- 关于mysql错误:Illegal mix of collations for operation '='的理解
- 关于在eclipse上搭建Genymotion模拟器的一些常见错误心得