如何动态分配系统内存
在 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]; //可以动态指定其大小。
|


haofu
博客统计信息
热门文章
最新评论
友情链接