В настоящее время у меня есть следующий код.
struct qnode
{
char *path;
struct qnode *next;
}
typedef struct qnode Node;
На этом этапе мой код завершается ошибкой, однако, когда я пытаюсь распределить пространство для внутри внутри структуры qnode.
void add(Node *front, Node *back,char **path)
{
/* Create the new node */
Node *cur = (Node *)malloc(sizeof(Node));
/* Verify node successfully created */
if(cur)
{
/* Populate Members of Node */
cur->path = malloc(strlen(*path)); /* fails here */
printf("Malloc path success");
cur->path = *path;
У меня естьпроверил, что strlen действительно работает с правильным указателем и действительно возвращает длину размера.По какой-то причине, хотя я получаю ошибку сегментации в этот момент, и я не понимаю, почему.
Fyi Это часть назначения ОДНАКО эта простая строка malloc не является чем-то, что было специально назначено, и не использовалоС языком.Мне разрешено выполнять c ++ по заданию, но я выбрал C, чтобы получить больше знаний о языке.
Спасибо за помощь!