首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

c函数递归,同一常量每次调用是否都会重新分配空间解决方法

2012-05-10 
c函数递归,同一常量每次调用是否都会重新分配空间c函数递归,同一常量每次调用是否都会重新分配空间,如int

c函数递归,同一常量每次调用是否都会重新分配空间
c函数递归,同一常量每次调用是否都会重新分配空间,如
int land( int n)
{
  int k;
  k = n + 1;
  return n < 0 ? k: land(n - 1) + k;
}
land函数中的常量 1 是否每次递归调用都会重新分配一个空间,即有不同的地址。

[解决办法]
不会的,作为常量直接写进代码段里去了
[解决办法]
只有变量才需要分配空间
[解决办法]
不会的。常量都在代码段里。
[解决办法]


探讨

不会的。常量都在代码段里。

[解决办法]
只有变量才会分配空间
[解决办法]
常量不会,因为它不存在栈上的,而是存放在RD数据段里(Linux)或者数据段里(Windows);
不过变量在递归中会从新申请空间,所以如果一个没有尽头的递归会使栈溢出。
[解决办法]
1,2,3

'1','2','3' 这些玩意都是常量,不共享,因为你没法把1改成2,你改的是变量。

你没法把'1'改成'2',你改的只是变量。

热点排行