LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 894|回复: 13

int num[n]; ? 用变量定义变量?

[复制链接]
发表于 2004-7-1 22:24:53 | 显示全部楼层 |阅读模式
int num[n]? 用变量定义变量
[php]
... ...
int fun(int n){
        int num[n];
        int i;
        for(i=0;i<n;i++){
                fgets(num,n-1,stdin);
        }
        go(num);
}
... ...
[/php]
这个在gcc上没问题。
听说在M$ VC不能用。
 楼主| 发表于 2004-7-1 22:26:24 | 显示全部楼层
发表于 2004-7-2 10:02:01 | 显示全部楼层
C99标准才支持动态数组。
发表于 2004-7-2 14:46:46 | 显示全部楼层
不支持动态数组的。
发表于 2004-7-3 14:25:53 | 显示全部楼层
可以参考一下:
http://www-900.ibm.com/developerWorks/cn/linux/l-c99/index.shtml
里面的建议是:“可以声明长度为本地变量的数组,但是就到此为止吧。”
发表于 2004-7-3 15:16:06 | 显示全部楼层
如果不是内存很紧张的话,还是弄个足够大的buffer好了
如果需要的内存不是很多,这个buffer还是尽量不要动态分配的好
发表于 2004-7-3 16:55:50 | 显示全部楼层
 楼主| 发表于 2004-7-3 17:43:22 | 显示全部楼层
最初由 lucifer 发表
如果不是内存很紧张的话,还是弄个足够大的buffer好了
如果需要的内存不是很多,这个buffer还是尽量不要动态分配的好


Why ?
发表于 2004-7-4 08:25:17 | 显示全部楼层
如果要用在函数中使用动态分配,每次调用函数都要进行一次动态内存分配。这个造成效率的下降。你自己可以作一试验看看。
 楼主| 发表于 2004-7-5 17:32:45 | 显示全部楼层
谢谢,明白了.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表