友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!
C语言实例教程(PDF格式)-第18部分
快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部! 如果本书没有阅读完,想下次继续接着阅读,可使用上方 "收藏到我的浏览器" 功能 和 "加入书签" 功能!
。。。
delete '' myCharArray;
delete '' myIntArray;
使用帧分配为结构分配内存:
struct MyStructType { int topScore;};
void SomeFunc(void)
{
// 帧分配
MyStructType myStruct;
// 使用该结构
myStruct。topScore = 297;
// 在超出作用域时结构所占用的内存被自动回收
}
…………………………………………………………Page 150……………………………………………………………
使用堆分配为结构分配内存:
// 堆分配
MyStructType* myStruct = new MyStructType;
// 通过指针使用该结构
myStruct…》topScore = 297;
delete myStruct;
使用帧分配为对象分配内存:
{
CMyClass myClass; // 构造函数被自动调用
myClass。SomeMemberFunction(); // 使用该对象
}
使用堆分配为对象分配内存:
// 自动调用构造函数
CMyClass *myClass=new CMyClass;
myClass…》SomeMemberFunction(); // 使用该对象
delete myClass; // 在使用delete的过程中调用析构函数
l 注意:
l 一定要记住一个事实,在堆上分配的内存一定要记得释放,对于
使用运算符new分配的内存,应当使用delete运算符来释放;而使
用malloc函数分配的内存应当使用free函数来释放。不应 当对同
一内存块交叉使用运算符new、delete和函数malloc、free (即使
用delete运算符释放由malloc函数分配的内存,或使用free函数
释放由new运算符根本的 内存),否则在MFC的调试版本下将会导致
内存冲突。
对固定大小的内存块,使用运算符new和delete要比使用标准C库函数
malloc和free方便。但有时候我们需要使用可变大小的内存块,这
时,我们必须使用标准的C库函数malloc、realloc和free。下面的示
例代码创建了一个可变大小的数组:
…………………………………………………………Page 151……………………………………………………………
#include
#include
#define UPPER_BOUND 128
void main()
{
int *iArray=(int *)malloc(sizeof(int));
for (int i=0;i
快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!