友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!
第三电子书 返回本书目录 加入书签 我的书架 我的书签 TXT全本下载 『收藏到我的浏览器』

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
返回目录 上一页 下一页 回到顶部 1 1
快捷操作: 按键盘上方向键 ← 或 → 可快速上下翻页 按键盘上的 Enter 键可回到本书目录页 按键盘上方向键 ↑ 可回到本页顶部!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!