Мне кажется, у меня есть проблемы с пониманием строки и строкового литерала.
Это то, что я узнал из своего класса, при переходе к функции const char * указывает, что это строковый литерал, а char * обозначает строку.
Предположим, у меня есть объявление структуры:
struct node{
char *name;
struct node *next;
};
и функцию, это функция, которую я хочу реализовать:
void load_buffer(struct node *input_node, char *input_name);
Предполагается, что эта функция присваивает input_name имени члена структуры.
Отсюда мое замешательство. В теле load_buffer я должен написать:
input_node->name = input_name;
Или я должен использовать strcpy / strncpy для этого?
strcpy(input_node->name, input_name);// Suppose it's safe in this case.
Подводя итог, я не уверен, должен ли я использовать функции прямого присваивания или семейства strcpy для назначения строкового / строкового литерала члену моей структуры.
Спасибо за помощь. :)