struct list_el {
unsigned int data;
char name[16];
char grade;
struct list_el * next;
};
typedef struct list_el item;
int main(int argc, char **argv) {
item *curr, *head;
//first item
curr->data = 3141592;
strcpy(curr->name, "Carl");
curr->grade = 'A';
curr->next = head;
head = curr;
Попытка выяснить, почему это не работает, когда я пытаюсь установить имя «Карл». Я получаю «слишком мало аргументов для функции« strcpy », хотя у меня есть 2 аргумента (destination, source). Когда я добавляю третий аргумент (сколько символов нужно копировать?), Я получаю «назначение выражению с типом массива».Попытка установить строку в структуре
Опубликуйте [MCVE] (http://stackoverflow.com/help/mcve), и вы не выделили память для 'curr' перед ее использованием. –
Не знаете, почему это не удалось скомпилировать, но это определенно UB - вы объявляете указатель на «элемент», но не инициализировали его фактическим экземпляром. – MooseBoys
Прошу прощения, это мешает затмению построить мой проект для меня ... – CodingNinjaInTraining