66问答网
所有问题
c语言函数没有被调用会给里面的变量分配内存空间吗?
一个子函数如果没有被主函数调用会给那个子函数的变量分配内存吗
是在使用中可能会被调用,也可能不会,比如按一个键就调用,那内存是一开始就分配还是等按键后再分配?
举报该问题
推荐答案 2011-02-25
子函数的变量是在子函数中被定义的。
如果变量不是静态变量,
那么定义的变量会在函数调用的时候, 将其内存空间分配在栈(stack)中。
不调用的时候不会分配空间。
如果变量是静态变量,在编译的时候就会分配内存空间
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://66.wendadaohang.com/zd/nnvpx9niD.html
其他回答
第1个回答 2011-02-25
取决于你的编译器,如果编译器有这种优化功能的话,没用的代码可能会被去掉,正常编译的话,不管有用没用,都会分配的。
第2个回答 2011-02-25
不会,只有调用后才分配内存,调用结束后自行释放
相似回答
C语言中变量内存
问题
答:
(1)在函数中申明的变量,是局部量。
(2)函数没有被调用时,不给局部量分配空间
。此时不占用内存空间。(3)函数 局部量的生命周期是从调用开始到调用结束。只有在调用函数时,才临时分配空间,函数调用并执行完毕时,空间就会被释放。函数调用和执行中,无论是否使用此变量,它都要占用内存空间,有...
C语言中
形参在
未调用
时为什么不占
内存?
答:
形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元
。因此,形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量。
单片机
C语言
编程,假如头文件
里的函数没有被调用
,那么该函数会不会最后...
答:
没有用到自然就不会被编译,就不会占空间
如果头文件定义有1000个函数 你的程序只用了1个函数 那么编译后的程序,只有这一个函数的内容
C语言中
,
给变量分配内存
是在什么时候?是在编译的时候
吗?
答:
编译只是把源文件翻译成可执行文件,此时如果不运行程序,
分配内存
干吗?应该是在运行程序时分配内存
关于
C语言中
数组
分配内存
等问题!额,本人是菜鸟,被一C语言书上的话弄晕...
答:
1. 准确地说,局部变量是在该
函数被调用的
时候才会得到所
分配的内存空间
。但是该
内存空间的分配
形式是在编译的时候就确定了的。2. char a[10]也会自动被初始化为10个'\0'字符。3. 一般的数组都是静态数组。动态数组的申请方式一般为:int *a=malloc(sizeof(int) * 10); // 这个语句申请了一...
给
变量分配内存
单元是在什么时候进行
的?
答:
这个涉及到局部变量还是全局变量的问题,
函数中的变量
属于局部变量,所以再调用到之后才开辟
内存空间
,但局部变量所在
函数调用
完毕,局部变量就被取消了,然后所占内存就被收回了。 而全局变量由于作用域很广,一旦定义,编译器就会
分配内存
,程序运行期间这块内存单元一直有效,直到整个程序结束才由系统收回内存...
大家正在搜
c语言函数的调用
c语言函数的定义与调用
c语言调用函数的编程例子
c语言函数变量
c语言全局变量和局部变量
c语言函数调用例子
c语言函数指针的使用
c语言调用函数怎么写
c语言中sizeof函数的用法
相关问题
C语言调用函数时会为函数分配自己的函数空间吗?
C语言 被调用函数里栈区分配的内存,主调用函数是不能使用的
C语言中形参在未调用时为什么不占内存?
C语言中变量内存问题
C语言中,malloc函数动态分配内存后,如果不用free去...
c语言宏定义函数如何调用(里面含参数可以当函数用吗)
在C语言中,如何给函数分配内存?
C语言中的变量分配了内存存储空间吗