c语言 变量在定义时就会分配空间么,那这样的话定义函数时形参怎么不是,难道说形参不是定义而是声明,
如果是声明的话为什么会在调用时分配空间,我勒个去我主要想知道自动变量定义时分配空间了么,(静态的肯定立即就分配了,对吧)求指错...
如果是声明的话为什么会在调用时分配空间,我勒个去
我主要想知道自动变量定义时分配空间了么,(静态的肯定立即就分配了,对吧)求指错 展开
我主要想知道自动变量定义时分配空间了么,(静态的肯定立即就分配了,对吧)求指错 展开
2个回答
展开全部
楼主,变量定义属于编译范畴。变量的内存分配属于运行范畴。
形参和局部变量都是在函数压栈过程中分配空间的。
main下的变量int a,它也是main函数的局部变量,也是在main函数压栈的时候在栈里分配的空间。
形参和局部变量都是在函数压栈过程中分配空间的。
main下的变量int a,它也是main函数的局部变量,也是在main函数压栈的时候在栈里分配的空间。
更多追问追答
追问
压栈是在编译过程中?,运行不是编译成可执行代码后进行的么,
追答
压栈是运行过程中。程序不运行,它只是一堆指令加标识符加常量,只有运行起来才会分配具体内存来存放变量等内容。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询