うわ、なんだこれ。少しミスりました。以下でお願いします。

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

int main(void) {
 char **data = NULL;

 data = set_data(data);

 puts( data[0] );
 return(0);
}

char **set_data(char **p) {
 char *a = "nullpo";
 char *b = "damepo";

 (char **)p = malloc( 3 * sizeof(char *));
 p[0] = a;
 p[1] = b;
 p[2] = NULL;

 return(p);
}