易截截图软件、单文件、免安装、纯绿色、仅160KB

C 中的变长数组 VLA

偶尔看到 C Primer Plus 中讲到变长数组(VLA),很有意思。
作者在他的 C Primer Plus 和 C++ Primer Plus 里面都明确指出,定义数组时数组的元素个数必须是整型常量,不能是变量。但是在 C 这本书里讲到变长数组 VLA,在 C++ 那本里面又没有提。不知道为什么?想来一定是 VLA 用起来有些不太明确的地方。
我试着写了个小程序测试,编译运行都很正常。
#include <iostream>
void vla(int length)
{
int v[length];
for (int i=0; i < length; i++)
{
v[length] = i;
std::cout << v[i] << "\n";
}
return 0;
}
int main()
{
int length=0;
std::cout << "Enter length: ";
std::cin   >> length;
vla(length);
return 0;
}
这样处理动态内存分配也是很好的啊!没有了内存泄露的问题,方便了,也简单了。
只是 C Primer Plus 的作者指出,必须要确定编译器的版本能够支持 VLA 特性。呵呵!


相关文档:

C#读取XML文件的简单方法

一、XML只有一个Table的情况
      (1)userInfo.xml
              <?xml version="1.0" encoding="utf-8" ?>
              <UserInfo ......

C/C++笔试、面试题目汇总

1.求下面函数的返回值(微软)
int func(x)
{
int countx = 0;
while(x)
{
countx ++;
x = x&(x-1);
}
return countx;
}
假定x = 9999。 答案:8
思路:将x转化为2进制,看含有的1的个数。
2. 什么是“引用”?申明和使用“引用”要注意哪些问题?
答:引用就是某个目标变量的&ldquo ......

在 C/C++中如何构造通用的对象链表(不很理解 )


http://blog.csdn.net/hwz119/archive/2007/05/25/1625218.aspx
    您是否做过这样一个项目,它要求您在内存中保存数目不定的若干不同对象?对于某些情况,二叉树是最佳选择,但在通常情况下,更简单的链表是显而易见的选择。
一个简化的问题示例
链表的难点在于必须复制链表处理函数来处理不同的对象 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号