Как назначить член структуры для переменной в C - PullRequest
0 голосов
/ 30 декабря 2018

Привет всем, я новичок в C, и я хочу знать, можно ли назначить член структуры для переменной в C, как показано ниже

struct User
{
   int ID;
   char name[10]; 

}users[10];

int uid,
char userName;

uid = users[i].ID;
userName = user[i].name;

, пытаясь сделать что-то, как указано выше, я получил предупреждениечто «присваивание делает целое число из указателя без приведения», и при компиляции я запускаю, поскольку это было предупреждение, а не ошибка, которую он запускает, но тогда я не могу вывести значение uid или userName, которое система просто закроет;Пожалуйста, я знаю, что многие спросят, хотя я не могу просто получить доступ к члену структуры напрямую и напечатать его, я знаю, что могу сделать это таким образом, но на самом деле я хочу найти способ назначить значение переменной

1 Ответ

0 голосов
/ 30 декабря 2018

Проблемное утверждение:

userName = user[i].name;
  |            |
 char type   char array type

, во-первых, userName объявлено как символьная переменная, а символьная переменная не может содержать char array, т. Е. user[i].name.

Измените

char userName;

на

char userName[10];

, а затем скопируйте, используя strcpy() или strncpy().Например,

strcpy(userName, user[i].name);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...