易截截图软件、单文件、免安装、纯绿色、仅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/C++头文件

头文件一般由三部分内容组成:(1)头文件开头处的版权和版本声明;(2)预处理块;(3)函数和类结构声明等。
头文件扩展名为*.h。
为避免出现重复定义的问题 ,头文件一般写法如下:
/*----------------------------------------------------
MATH.H
-------------------------------------------------------*/
#ifndef& ......

第一次试着在Linux下写C程序

今天第一次试着在Linux下写C程序,把遇到的问题记录一下
1. 使用emacs命令编辑程序文件,我直接在Terminal里输入了emacs,写好程序,关闭,结果和windows里不一样,并没有任何SaveFileDialog之类的对话框弹出来,自己写的东西也不知道保存到哪里了,而且File菜单里也没有New这样的选项。后来才知道,原来是得在emacs命令后 ......

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

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

C和指针 的读书笔记(自己整理)

第2章
环境:翻译环境: 源代码转化成可执行的机器指令。
执行环境:用于实际执行代码。
翻译:源文件-〉目标文件-〉可执行文件(通过链接器将多个目标文件捆绑在一起)
编译过程:预处理器-〉源代码经过解析产生目标代码(这个过程中是绝大多数错误和警告产生的地方)-〉优化器(就是对目标代码进行进一步优化,使效率 ......

更改C:\Documents and Settings路径

      在Windows 2000/XP中,"Documents and Settings"是一个特殊文件夹。用户配置文件、桌面。甚至连密钥信息都保存在这里面。如果硬盘空间不够,想把它们换个地方。但这些东西却很难移动。我们的问题是:如何在保证系统正常运行的情况下,将"Documents and Settings"文件夹移动到另外一个分区? ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号