关于char*的内存分配有关问题
关于char*的内存分配问题
char* mychar;
mychar = NULL;
这样写对么? 如果对一个char*的变量赋值为NULL,需要分配内存么?
如果这样写不对的话,请给出正确的答案,谢谢!!!
------解决方案--------------------
char* mychar;
mychar = NULL;没有分配内存,不用删除,可以指向一个常量区,也可以指向一个char[]的地址(可以不是首地址,只要不溢出)。
char* mychar = NULL;
mychar =new char[];
delete []mychar;
分配了一个内存区域,可以装字符,不用需要删除
剩下的就是:lx6636(水果萝卜) 看看
------解决方案--------------------
char* mychar;
mychar=NULL;
这样写是很正确地但是没有什么意义。
一般给指针赋上NULL空值是这样的时候如:
char* mychar;
mychar=new char;//创建动态空间
.....开始使用开辟的动态空间
delect mychar;//删除动态指针释放内存
mychar=NULL;//在这个时候为了避免自己的误操作,给delect掉的指针赋上NULL,以免在后面编
写的过程中调用它,如果不加NULL这个指针就会变成野指针会有潜在隐患的。
不知道我的回答对你有没有帮助。
欢迎进入QQ群4905857
char* mychar;
mychar = NULL;
这样写对么? 如果对一个char*的变量赋值为NULL,需要分配内存么?
如果这样写不对的话,请给出正确的答案,谢谢!!!
------解决方案--------------------
char* mychar;
mychar = NULL;没有分配内存,不用删除,可以指向一个常量区,也可以指向一个char[]的地址(可以不是首地址,只要不溢出)。
char* mychar = NULL;
mychar =new char[];
delete []mychar;
分配了一个内存区域,可以装字符,不用需要删除
剩下的就是:lx6636(水果萝卜) 看看
------解决方案--------------------
char* mychar;
mychar=NULL;
这样写是很正确地但是没有什么意义。
一般给指针赋上NULL空值是这样的时候如:
char* mychar;
mychar=new char;//创建动态空间
.....开始使用开辟的动态空间
delect mychar;//删除动态指针释放内存
mychar=NULL;//在这个时候为了避免自己的误操作,给delect掉的指针赋上NULL,以免在后面编
写的过程中调用它,如果不加NULL这个指针就会变成野指针会有潜在隐患的。
不知道我的回答对你有没有帮助。
欢迎进入QQ群4905857