Hi all!
I'm quite new to programming... well, I have to learn it for my exam (which is tommorow by the way). I tried to do an exercise on linked list... but I've been sitting behind my desk for a few hours now and still didn't find out what the heck is wrong with my code.
So here it is:
Code:
#include <stdio.h>
//definiram strukturo node (vozel)
struct node
{
int amount;
struct node *next;
char *title;
};
//prototipi funkcij
struct node *add(struct node*);
struct node *display(struct node*);
int main(int argc, char *argv[])
{
struct node *head;
head->title="test";
head->amount=5;
add(head);
return 0;
}
//funkcija za izpis seznama zaloge
struct node *display(struct node *head)
{
printf("\nIZPIS SEZNAMA ZALOGE:\n");
struct node *z;
z = head;
while(z != NULL)
{
printf("%d....Title: %s \t Amount: %d\n", z->title, z->amount);
z = z->next;
}
printf("\n\n");
return head;
}
//funkcija za dodajanje elementa na konec linked lista
struct node *add(struct node *head)
{
struct node *new, *first;
printf("Title: ");
scanf("%s", new->title);
//scanf("%s", &new->title); I tried this as well but it didn't seem to help
printf("Amount: ", new->amount);
first = head;
while(head->next != NULL)
{
head = head->next;
}
head->next = new;
return first;
}
The program compiles but when I try to run it I get segmentation fault right after I type the first title... so there must be some problem with assigning the string value to title member of node structure I guess.
Any idea on what is wrong? I tried to help myself with a whole bunch of literature but I didn't find any example with assigning array of characters to a member of a structure.