一个指针小问题
本帖最后由 一世轻尘 于 2021-1-23 16:55 编辑/*插入结点*/
/*参数:链表的第一个结点,插入的位置*/
void ds_insert(node **pNode , int i)
{
node *temp;
node *target;
node *p;
int item;
int j = 1;
printf("输入要插入结点的值:");
scanf("%d", &item);
if(i == 1)
{ //新插入的结点作为第一个结点
temp = (node *)malloc(sizeof(struct CLinkList));
if(!temp)
exit(0);
temp ->data = item;
/*寻找到最后一个结点*/
for(target = (*pNode); target->next != (*pNode); target = target->next)
;
temp->next = (*pNode);
target->next = temp;
*pNode = temp;
}
在这里temp如果开辟失败了,temp的值会是什么,为什么此时if语句可以运行 没有见过**pNode的结点格式,可以问下结点的结构体是怎么声明的吗?
刘珊水 发表于 2021-1-23 22:07
没有见过**pNode的结点格式,可以问下结点的结构体是怎么声明的吗?
typedef struct CLinkList
{
int data;
struct CLinkList *next;
}node;**pNode就是一个函数参数,跟结构体没啥关系 开辟失败了就是 NULL, 也就是 0
页:
[1]