'Copy lines from file to char *array[]?

Hi need a little bit of help here. I have a file with 5 lines and I want to put this lines into an array of type char *lines[5]; but I can't figure it out why the following isn't working.

#include <stdio.h>
#include <string.h>

int main(void) {
    FILE *fp = fopen("name.txt", "r");
    char *str;
    char *list[5];
    int i = 0;

    while (fgets(str, 100, fp) != NULL) // read line of text
    {
        printf("%s", str);
        strcpy(list[i], str);
        i++;
    } 
}


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source