不知道如何delete希望哪位高手指教!~

jggsss 2003-08-20 11:39:04
struct table
{
long type;
char* data;
table* next;
};
void main(void)
{
table* bbb;
bbb=new table;
bbb->data=new char[4];
bbb->data="432";
........................
请问到最后如何delete bbb->data,和bbb

}
...全文
107 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
思危 2003-08-20
  • 打赏
  • 举报
回复
delete[] bbb->data;
delete bbb;
luogucai 2003-08-20
  • 打赏
  • 举报
回复
你的这种情况,将导致内存泄漏,也会死机.
bbb->data=new char[4];分配的内存使用delete[] bbb->data, 但是后来你又
bbb->data="432";它指向常量字符串,不能用delete删除.

ruihuahan 2003-08-20
  • 打赏
  • 举报
回复
up
zqone 2003-08-20
  • 打赏
  • 举报
回复
bbb->data=new char[4];
bbb->data="432";

这样用不对,应该是
bbb->data=new char[4];
strcpy(bbb->data,"432");

否则delete时可能会有问题。
bcpl 2003-08-20
  • 打赏
  • 举报
回复
right
akun 2003-08-20
  • 打赏
  • 举报
回复
delete []bbb->data;
delete bbb;
  • 打赏
  • 举报
回复
String str1 = "33",str2="22";
if(str1.Compare(str2) > 0)
{
CString t;
t = str1;
str1 = str2;
str2 = t;
}
  • 打赏
  • 举报
回复
用CString,那要怎么才能够排序?
===================================

int Compare( LPCTSTR lpsz ) const;

Return Value

Zero if the strings are identical, < 0 if this CString object is less than lpsz, or > 0 if this CString object is greater than lpsz.

Parameters

lpsz

The other string used for comparison.


bluebohe 2003-08-20
  • 打赏
  • 举报
回复
class table
{
table(){data=NULL;next=NULL};
~tabke(){if(data!=NULL){delete []data;data=NULL;}if(next!=NULL){delete next;next=NULL;}}
long type;
char* data;
table* next;
};
main()
{
table* bbb;
bbb=new table;
bbb->data=new char[4];
strcpy(bbb->data,"234");
………………………………
delete bbb;
}

bbb->data="432";
这种赋值是不对的!
bluebohe 2003-08-20
  • 打赏
  • 举报
回复
你既然用delete的话,必定是C++了,C++更好的方式是用类来实现;这也是delete比free()函数的优势所在

你最好把你的结构做成一个类,在类的析构函数中delete数据成员,这样的话你在主程序中使用 delete bbb;系统会自动调用析构函数,析构函数自动析构链表的下一级,这样子的话,delete就非常简单了
nomenn 2003-08-20
  • 打赏
  • 举报
回复
用CString,那要怎么才能够排序?
akiko 2003-08-20
  • 打赏
  • 举报
回复
delete[] bbb->data;
delete bbb;
  • 打赏
  • 举报
回复
struct table
{
long type;
CString data;
table* next;
};
用CString不是更好吗?
  • 打赏
  • 举报
回复
delete[] bbb->data
delete bbb
xiaohedou 2003-08-20
  • 打赏
  • 举报
回复
是啊

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧