关于malloc和new的一点问题
在做单链表完成通讯录的时候被这个卡了一天,连实验报告都没交上,有点怀疑人生了气死了
之前做的单链表一直都是一个数据+一个指针,如下
typedef int ElemType;
typedef struct LNode
{
ElemType data;
struct LNode *next;
}LNode,*LinkList;
在这个结构下一直都是用malloc来定义一个空指针
p=(LNode *)malloc(sizeof(LNode));
——————————
2021.9.26更新:
p=(ElemType *)malloc(sizeof(ElemType)*InitSize);
>
以这个形式定义元素>1个的即可。
——————————
于是乎今天做通讯录管理的时候,也是这么用的,但是通讯录不只一个数据
typedef struct LNode
{
int ID;
string name;
string sexual;
string tele;
string email;
struct LNode* next;
}LNode,*LinkList;
还是采用malloc定义后,报错了一天!!!!!!!!经过我不停地寻找同题目大佬的代码后,终于看到了一个老师用new来定义指针,成功实现了没有异常报错
自己研究了下,发现malloc只能输入一个数据,如果再继续输入下一个,就会异常报错,恍然大悟了xdm
原来malloc那样定义是无法给你足够的分配空间存储1个以上的数据的,但是我对malloc了解不深,如果有大佬知道malloc怎么做到定义存储如上链表数据的空间还请告知我!