大家好,我是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的值,系统将退出; 请问我知道很多人会问,但我不能直接访问结构成员并打印它吗,我知道我可以那样做,但是我真正想做的就是看一种将值赋给变量的方法>
答案 0 :(得分:0)
有问题的陈述是
userName = user[i].name;
| |
char type char array type
首先将userName
声明为 character 变量,而字符变量不能容纳char array
即user[i].name
。
更改此
char userName;
到
char userName[10];
,然后使用strcpy()
或strncpy()
复制。对于例如
strcpy(userName, user[i].name);