如何用new来申请指针的指针所指struct的空间。

umbrook 2008-02-19 02:03:56

typedef struct nodeCDT
{
nodeEntry entry;
nodeCDT *next;
}*nodeADT;
typedef struct linkCDT
{
nodeADT head;
}*linkADT;

void InitLink(linkADT *linkA)
{
//*link = (linkADT)malloc(sizeof*(*link));// C风格。但如何用new来申请linkADT(这也是指针)所指struct
//空 间
*linkA = new linkCDT ;
(*linkA)->head = NULL;
}
int main()
{
linkADT *linkA = NULL;
InitLink(linkA);
return 0;
}





...全文
225 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jamesandy 2008-02-19
  • 打赏
  • 举报
回复
struct nodeCDT
{
nodeEntry entry;
nodeCDT *next;
};
struct linkCDT
{
nodeCDT * head;
};

void InitLink(linkCDT **linkA)
{
*linkA = new linkCDT ;
(*linkA)->head = NULL;
}
int main()
{
linkCDT **linkA = NULL;
InitLink(linkA);
return 0;
}
=================================================
可恶的typedef,把一切都搞得乱七八糟。

xgbing 2008-02-19
  • 打赏
  • 举报
回复
void InitLink(linkADT **linkA)
{
//*link = (linkADT)malloc(sizeof*(*link));// C风格。但如何用new来申请linkADT(这也是指针)所指struct
//空 间
*linkA = new linkCDT ;
(*linkA)-> head = NULL;

nodeADT *tmp=new nodeADT;
(*linkA)-> head =tmp
}
xgbing 2008-02-19
  • 打赏
  • 举报
回复
void InitLink(linkADT *linkA)
{
//*link = (linkADT)malloc(sizeof*(*link));// C风格。但如何用new来申请linkADT(这也是指针)所指struct
//空 间
*linkA = new linkCDT ;
(*linkA)->head = NULL;
}
在函数内分配内存,小心
HelloDan 2008-02-19
  • 打赏
  • 举报
回复

#include<iostream>

using namespace std;

typedef struct nodeCDT
{
int entry; //测试用的,你可以改回以前的。
nodeCDT *next;
}*nodeADT;
typedef struct linkCDT
{
nodeADT head;
}*linkADT;

void InitLink(linkADT *linkA)
{
//*link = (linkADT)malloc(sizeof*(*link));// C风格。但如何用new来申请linkADT(这也是指针)所指struct
//空 间
*linkA = new linkCDT ;
(*linkA)->head = NULL;
}
int main()
{
linkADT linkA = NULL;
InitLink(&linkA);
return 0;
}
HelloDan 2008-02-19
  • 打赏
  • 举报
回复

#include<iostream>

using namespace std;

typedef struct nodeCDT
{
int entry;
nodeCDT *next;
}*nodeADT;
typedef struct linkCDT
{
nodeADT head;
}*linkADT;

void InitLink(linkADT *linkA)
{
//*link = (linkADT)malloc(sizeof*(*link));// C风格。但如何用new来申请linkADT(这也是指针)所指struct
//空 间
*linkA = new linkCDT ;
(*linkA)->head = NULL;
}
int main()
{
linkADT linkA = NULL;
InitLink(&linkA);
return 0;
}
//如果用new,不如你还是全部分用C++的风格写代码好吧。要不看起来就不太舒服了。
//

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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