Вы храните указатель на локальное хранилище, которое исчезает, когда testFunc()
выходит из области видимости.
Правильный путь для константной строки:
info->name = "test input";
или для чего-либоболее динамичный:
info->name = strdup("test input");
Вы также можете не указывать name
в указателе, а вместо этого иметь char name[50];
в структуре, а затем просто сделать:
strcpy(info->name, "test input");
ЭтоБыло бы также целесообразно использовать версию с учетом размера, если она у вас есть:
snprintf(info->name, sizeof info->name, "%s", "test input");
Обратите внимание, что это предполагает решение для массива, sizeof info->name
не будет иметь смысла, если name
все еще является указателем.