strcpy() et les tableaux de chaînes de caractères

J'ai besoin de stocker l'entrée de l'utilisateur dans un tableau de chaînes de caractères.

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

char *history[10] = {0};

int main (void) {

    char input[256];

    input = "input";

    strcpy(history[0], input);

    return (EXIT_SUCCESS);

}

Cours d'exécution sur le terminal j'obtiens une erreur de Segmentation et dans NetBeans-je obtenir principale.c:11: error: incompatible types in assignment. J'ai aussi essayé de déplacer l'ensemble de l'histoire pour stocker la dernière entrée dans la première position (histoire[0]).

history[9] = history[8];
history[8] = history[7];
history[7] = history[6];
history[6] = history[5];
history[5] = history[4];
history[4] = history[3];
history[3] = history[2];
history[2] = history[1];
history[1] = history[0];
history[0] = input;

Mais cela entraîne la sortie de ce genre.

Si l'entrée est "entrée"

Histoire 0: entrée
Histoire 1: null
etc.

Si l'entrée est "nouveau"

Histoire 0: nouveau
Histoire 1: les nouvelles
Histoire 2: null
etc.

Chaque fois qu'une nouvelle entrée est entré dans les pointeurs de la chaîne de maj, mais il ne provoque que la valeur la plus récente pour être sauvé dans l'histoire de tableau.

OriginalL'auteur Spencer | 2010-10-10