#include<stdio.h>
#include<conio.h>
struct Node{
int number;
struct Node * next;
};
struct Node * insertNodeInLinkedList(int number,struct Node * startOfList){
if(startOfList == NULL){
startOfList = (struct Node *)malloc(sizeof(struct Node));
startOfList->number = number;
startOfList->next = NULL;
}else{
struct Node * temporaryNode = startOfList;
struct Node * newNode = (struct Node *)malloc(sizeof(struct Node));
while(temporaryNode->next != NULL){
temporaryNode = temporaryNode->next;
}
newNode->number = number;
newNode->next = NULL;
temporaryNode->next = newNode;
}
return startOfList;
}
void display(struct Node * startOfList){
struct Node * temporaryNode = startOfList;
while(temporaryNode != NULL){
printf("%d",temporaryNode->number);
temporaryNode = temporaryNode->next;
}
}
int main (void){
int howManyNodes = 0;
int counter = 0;
int enteredNumber = 0;
struct Node * startOfMyList = NULL;
printf("How many nodes do you want in your linked list?");
scanf("%d",&howManyNodes);
while(counter < howManyNodes){
printf("Enter number: ");
scanf("%d",&enteredNumber);
startOfMyList = insertNodeIntoLinkedList(enteredNumber,startOfMyList);
counter++;
}
display(startOfMyList);
getch();
return 0;
}
This is my simple program to insert and display nodes of a linked list. However, the line:
startOfList = (struct Node *)malloc(sizeof(struct Node));
gets flagged as an error. I do not know why.
What is going wrong here ?
Your malloc
seems to be correct.
For your new error it is simply because in main
you are calling insertNodeIntoLinkedList
and you define the function before:
insertNodeInLinkedList
// ^^
Also, you need to include <stdlib.h>
for the malloc
function.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.