gpt4 book ai didi

c - 如何修复将指针强制转换为整数?

转载 作者:行者123 更新时间:2023-11-30 18:27:33 25 4
gpt4 key购买 nike

我正在编写一个程序,该程序从数组中创建一个双向链表。这是到目前为止的代码:

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

struct Node {
int data;
struct Node *next;
struct Node *previous;
}

struct Node *create_dll_from_array(int array[], int x) {
int i;
struct Node *newNode, *temp, *head;

for (i=0; i<x; i++) {
newNode = (struct Node *)malloc(sizeof(struct Node));
newNode->data = *(array+i);
if (i=0) {
head = newNode;
temp = newNode;
newNode->next = NULL;
newNode->previous = NULL;
}
else {
*** temp->next = (struct Node*) newNode->data;
newNode->next = NULL;
*** newNode->previous = (struct Node*) temp->data;
temp = newNode;
}
}
return head;
}

int main(){
int array[5] = {11,2,7,22,4};
struct Node* head;
head = create_dll_from_array(array,5);
return 0;
}

因此,在 *** 行中,我收到错误:警告:从不同大小的整数转换为指针我不知道程序本身是否真的有效,只是询问这两行以及为什么它们不起作用。谢谢!

最佳答案

How to fix casting a pointer to an integer?

不要将 int 分配给指针,这样就不需要进行强制转换了。

将指针分配给指针。

// temp->next = (struct Node*) newNode->data;
temp->next = newNode;

关于c - 如何修复将指针强制转换为整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54976975/

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