
C语言中变量内存问题
4个回答
展开全部
(1)在函数中申明的变量,是局部量。
(2)函数没有被调用时,不给局部量分配空间。此时不占用内存空间。
(3)函数 局部量的生命周期是从调用开始到调用结束。
只有在调用函数时,才临时分配空间,函数调用并执行完毕时,空间就会被释放。
函数调用和执行中,无论是否使用此变量,它都要占用内存空间,有地址。
(4)更精确地说,同变量所在的域(就是一对花括号之间的区域)有关,生命周期从进域开始到出域结束。
(2)函数没有被调用时,不给局部量分配空间。此时不占用内存空间。
(3)函数 局部量的生命周期是从调用开始到调用结束。
只有在调用函数时,才临时分配空间,函数调用并执行完毕时,空间就会被释放。
函数调用和执行中,无论是否使用此变量,它都要占用内存空间,有地址。
(4)更精确地说,同变量所在的域(就是一对花括号之间的区域)有关,生命周期从进域开始到出域结束。
展开全部
如果你是想这样int abc;在函数里面申明的,是不会占用堆空间的,但是会占用栈空间,你可以这样理解,当程序执行到这个函数的时候,abc占用了内存,当程序退出这个函数的时候,就会自动释放这个内存.
程序使用栈空间的内存是相当高效的,所以,一般小内存,都建议使用栈空间.
如果你想详细地了解堆,栈内存,请自己百度一下.上面有详细的说明.
程序使用栈空间的内存是相当高效的,所以,一般小内存,都建议使用栈空间.
如果你想详细地了解堆,栈内存,请自己百度一下.上面有详细的说明.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
声明就是让系统给他分配内存,要不声明还有什么用?当然分不分配还要看程序是否读到这条声明语句(一般来说就是调用所在的函数),读不到那自然没作用!这也说明了为什么变量要先声明后使用,否则的话,程序就会因内存分配不足而出错!以后会学到函数的声明也是一样的!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个需要看编译器处理情况,一般情况下是会占用内存以及会给一个地址的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询