您的位置:首页 > 其它

关于作用域的心得 理解还是有错误

2007-09-05 22:14 295 查看
在程序最后结束的时候发生了一个小插曲,就是这个插曲让我自己明白我的一个理论性的错误。

函数的的调用,其实对于计算机它是通过栈来实现的,父函数调用子函数时候,会把父函数放入栈 ,计算机执行当前函数,当前函数可以操作父函数里的变量,数组等等,通过参数。但如果不是改变的变量等的内容,而是所占空间的大小呢。那么会怎么样?
我这次的程序就发生这个问题,我传给子函数一个地址,却在子函数里开辟空间,让地址指向它。我以前一直以为对于作用域只针对于事先定义的变量,对于动态分配的空间没关系。我百思不得其解,后请教老师,老师点拨了我,重新回想函数调用的原理时候,我真正的明白了。

对于函数的调用,子函数可以操作父函数数据的内容,但父函数不可以使用子函数任何的资源,除了返回值。

======================================================

理解还是有错误,函数的调用原理没错,在作用域上有错误,开辟空间不是在函数空间开辟,而是在全局开辟。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: