编程时的内存释放问题
1个回答
展开全部
分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:
1.如果仅仅是有个主函数,那么当运行结束后,他占用的空间是不是自动的释放那?
2.如果主函数里面有子函数,那么我想问的是,如果子函数被调用完毕以后他的空间会不会自动的释放那?
附加问:比如我们平时打的文字什么东西,在内存中是怎么存放的那?是不是存放的时候也是有地址的那?这些地址是不是随即生成的那?还有就是我们来寻找这些我们在内存中想要的资料的时候,我们是怎么能够找的到那?
谁回答了,我太感谢了.
解析:
仅对C语言进行以上问题的讨论:
1 会被系统释放的。
2 子函数也会在结束时(准确的说是结束之前)释放其全部局部变量和常量占用的空间。
在编程过程中随便打的文字你没有具体说是什么那么我就视为两类,即代码与字符串,代码本身属于指令,编译后转为机器语言,也都是二进制码串,同样存放与内存中的特定区域(代码区或指令区),而字符串则一般成为字符串常量,存放于内存中,只要是放在内存里的必有地址。对于高级语言,存放地址是由操作系统分配的,可以说是随机的。要寻找的时候,编译器会维护一个“符号表”,其中记录了代码中的所有符号(变量名,常量名,函数名等等)和其对应的地址,查找该表就能找到相应地址。另外,使用“取地址”操作(&)也可以获得变量的地址。
问题描述:
1.如果仅仅是有个主函数,那么当运行结束后,他占用的空间是不是自动的释放那?
2.如果主函数里面有子函数,那么我想问的是,如果子函数被调用完毕以后他的空间会不会自动的释放那?
附加问:比如我们平时打的文字什么东西,在内存中是怎么存放的那?是不是存放的时候也是有地址的那?这些地址是不是随即生成的那?还有就是我们来寻找这些我们在内存中想要的资料的时候,我们是怎么能够找的到那?
谁回答了,我太感谢了.
解析:
仅对C语言进行以上问题的讨论:
1 会被系统释放的。
2 子函数也会在结束时(准确的说是结束之前)释放其全部局部变量和常量占用的空间。
在编程过程中随便打的文字你没有具体说是什么那么我就视为两类,即代码与字符串,代码本身属于指令,编译后转为机器语言,也都是二进制码串,同样存放与内存中的特定区域(代码区或指令区),而字符串则一般成为字符串常量,存放于内存中,只要是放在内存里的必有地址。对于高级语言,存放地址是由操作系统分配的,可以说是随机的。要寻找的时候,编译器会维护一个“符号表”,其中记录了代码中的所有符号(变量名,常量名,函数名等等)和其对应的地址,查找该表就能找到相应地址。另外,使用“取地址”操作(&)也可以获得变量的地址。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询