Может ли кто-нибудь помочь мне понять указатели void с помощью связанного списка.Создание связанного списка более общий
у меня есть:
struct listNode
{
int nodeValue;
struct listNode * next;
};
typedef struct listNode listNode;
, который работает только с Интс. Если я изменил int nodeValue на void * nodeValue, как бы мне отправить значения в мой связанный список, используя указатель void?
Например, я имел надстройку к передней функции:
void addFront(listNode *L, int number);
который принимает listNode и номер.
Если это была пустота * указатель, я бы просто изменить подпись:
void addFront(listNode *L, void* value);
В моих основных функций с помощью Интс у меня есть что-то вроде:
int main(void)
{
listNode *list;
list = createList();
for (int x = 0;x < 8;x++)
{
addFront(list,x);
}
return(0);
}
где createList определяется как :
listNode *createList()
{
listNode *anyNode;
anyNode = malloc(sizeof(listNode));
anyNode->next = NULL;
return anyNode;
}
listNode *initNode(int number)
{
listNode *newNode;
newNode = malloc(sizeof(listNode));
newNode->nodeValue = number;
newNode->next = NULL;
return(newNode);
}
Чтобы сделать список более универсальным, как я могу передавать целые числа, используя void * вместо объявляя целое число.
Извините, мне нужно добавить new_node. Я забыл написать его в код. –