c语言 局部变量问题
主函数中定义的局部变量只在主函数中有效,而主函数的局部变量在主函数运行完毕空间的释放,其他函数局部变量空间的释放是其他函数运行完毕释放而主函数运行完毕程序也结束了那主函数...
主函数中定义的局部变量只在主函数中有效 ,而主函数的局部变量 在主函数运行完毕空间的释放 ,其他函数局部变量空间的释放是 其他函数运行完毕释放 而主函数 运行完毕 程序也结束了 那主函数的局部变量 的释放时间 不就和全局变量一样了
展开
展开全部
主函数的局部变量 的释放时间 和全局变量 是不一样的。
全局变量的有效时间早于 main 函数。
实际上程序运行的最开始是要执行一系列初始化过程,这就包括了对全局变量进行初始化。
当所有全局变量初始化完成后,才开始执行main函数。
main函数开始执行后,main函数内的局部变量才开始初始化。
main函数退出时,局部变量被释放,生命周期结束,但这时候全局变量依然是存在的。
当main函数退出完毕后,这个程序并没有彻底结束,它还要执行一系列的收尾工作,其中就包括释放所有全局变量。
全局变量的有效时间早于 main 函数。
实际上程序运行的最开始是要执行一系列初始化过程,这就包括了对全局变量进行初始化。
当所有全局变量初始化完成后,才开始执行main函数。
main函数开始执行后,main函数内的局部变量才开始初始化。
main函数退出时,局部变量被释放,生命周期结束,但这时候全局变量依然是存在的。
当main函数退出完毕后,这个程序并没有彻底结束,它还要执行一系列的收尾工作,其中就包括释放所有全局变量。
展开全部
全局变量的存储时期是静态的,也就是程序执行期间它都一直存在,程序一运行马上给他们分配内存。局部变量的存储时期是自动的,只有程序运行到main的时候才为局部变量分配内存,当main结束的时候就释放了。如果你对main函数自身进行递归,那就很容易理解了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
嗯,对的,但是作用域不同,主函数在主函数中有用,而全局变量在所有函数中都有用。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询