gpt4 book ai didi

c - 指向函数返回的指针。从不兼容的指针类型初始化

转载 作者:太空宇宙 更新时间:2023-11-04 04:07:20 25 4
gpt4 key购买 nike

我在指针方面遇到了一些麻烦。我有一个函数应该返回链表中的节点,该函数应该返回指向变量的指针。我很困惑,看不出我做错了什么!

data.h - 头文件

int add(int num);
struct message *findMessage(int num);

typedef struct list_el message;

data.c - 链表。

    #include <stdio.h>
#include <stdlib.h>

struct list_el {
int num;

struct list_el *next;

};

typedef struct list_el message;
struct list_el *head, *tail;



int addNode(struct list_el *curr)
{
if(head == NULL) {
head = curr;

} else {
tail->next = curr;
}

curr->next = NULL;

return 0;
}

int add(int num)
{
message *curr;

head = NULL;

curr = (message*) malloc(sizeof(message));
curr->num = num;
addNode(curr);

return 0;
}

message *findMessage(int num)
{
message *curr;

for(curr = head; curr != NULL; curr = curr->next) {
if(curr->num == num) {
return curr;
}
}
return NULL;
}

Main.c - 主要

#include <stdio.h>

#include "data.h"

int main(void)
{
int num = 2;

add(num);

message *curr = findMessage(num);

return 0;
}

最佳答案

为什么不将 struct list_el 的定义包含在 header 中?否则 main 无法使用它。

关于c - 指向函数返回的指针。从不兼容的指针类型初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4204454/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com