I have to learn this by 10 am tomorrow for a final because I'm a procrastinator.
I know can all scold me if you like. What I have here is I have to understand pointers to understand linked lists and the one thing that boggles my mind when working with pointers is when ->
is used.
From what I've googled, it changes what a variable points to?
This confuses me when there are lines in the example code my professor gave me, such as temp = temp->head
in this code or when it states printf("%d", temp->num);
Can anyone please help explain this? Thank you in advance.
#include <malloc.h>
#include <stdio.h>
#include <stdlib.h>
struct node
{
int num;
struct node *ptr;
};
typedef struct node NODE;
int main()
{
NODE *head, *temp = 0, *first;
int count = 0;
int choice = 1;
while(choice)
{
head = (NODE *)malloc(sizeof(NODE));
printf("Enter the value: \n");
scanf("%d", &head->num);
if (first != 0)
{
temp->ptr = head;
temp = head;
}
else
first = temp = head;
fflush(stdin);
printf("Do you want to continue?");
scanf("%d", &choice);
}
temp->ptr = 0;
temp = first;
printf("\nStatus of the linked list");
while (temp != 0)
{
printf("%d->" temp->num);
count++;
temp = temp->ptr;
}
printf("NULL\n");
printf("Number of entries in linked list %d", count);
return 0;
}
}