注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 IB客座主编(四)美国西蒙公..
 帮助

如何动态分配系统内存


2007-12-14 18:08:47
在 VC++ 中
例如:
。h 中定义
#define  num  10       //分配内存为10
Cstring   chan[num];
 
如何将num置为动态的,就是去判断一个上传的字符串的长度,以这个长度的值来支配数组内存的大小。(是在class文件中获取长度值)当获取了字符串长度 怎么去制定到 num 上呢?如用指针改如何操作?
   谢谢!
 
 
       原来这样的想法是错误的。在头文件中是不能动态改变数组内存大小的。
 
       只能在方法里边定义一局部变量:如:
//       malloc/free  
//       new/delete
 
 
//这是C风格的
#include "malloc.h"   //使用malloc函数一定要嵌入这个头文件
       
int intt=10;
int inty=5;
int** array=(int**)malloc(sizeof(int*)*intt);
for(int i=0;i<intt;i++)
array[i]=(int *)malloc(sizeof(int)*inty);
//这是C++风格的
int intt=10;
int inty=5;
int** array=new int*[intt];
for(int j=0;j<intt;j++)
       array[j]=new int[inty];            //次蓝地的代码是引用别人的,供参考。
 
//下边代码自己编译通过的
int intt;
         CStringArray    arr;
arr.SetSize[intt];  //可以动态指定其大小。
 




    文章评论
 
2007-12-16 12:56:49
会的人来帮着看看吧

 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: