Comment puis-je déclarer et initialiser un tableau de pointeurs vers une structure en C?

J'ai une petite cession en C. je suis en train de créer un tableau de pointeurs vers une structure. Ma question est comment puis-je initialiser chaque pointeur à NULL? Aussi, après j'alloue de la mémoire pour un membre de la matrice, je ne peux pas assigner des valeurs à la structure à laquelle l'élément de matrice de points.

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

typedef struct list_node list_node_t;

struct list_node
{
   char *key;
   int value;
   list_node_t *next;
};


int main()
{

   list_node_t *ptr = (list_node_t*) malloc(sizeof(list_node_t));

   ptr->key = "Hello There";
   ptr->value = 1;
   ptr->next = NULL;

   //Above works fine

   //Below is erroneous 

   list_node_t **array[10] = {NULL};      

   *array[0] =  (list_node_t*) malloc(sizeof(list_node_t));
    array[0]->key = "Hello world!";  //request for member ‘key’ in something not a structure or union
    array[0]->value = 22;            //request for member ‘value’ in something not a structure or union 
    array[0]->next = NULL;           //request for member ‘next’ in something not a structure or union


    //Do something with the data at hand
    //Deallocate memory using function free 

   return 0;
}

source d'informationauteur user246392