[英]assignment to ‘char’ from ‘char *’ makes integer from pointer without a cast [-Wint-conversion]
[英]Struct error in C "incompatible pointer to integer conversion assigning to 'char' from 'char [5]' [-Wint-conversion]"
为我的数据结构和算法 class 学习 C。 我正在尝试为驾驶执照制作一个基本结构,但每当我使用 go 编译它时,我都会收到此错误。非常感谢任何帮助。
#include <stdio.h>
struct driversLiscence{
char name;
int dob;
int liscenceNum;
};
int main(){
struct driversLiscence Matt;
Matt.name = "Matt";
Matt.dob = 11031997;
Matt.liscenceNum = 112040190;
printf("Name is: %c\n",Matt.name);
printf("DOB is: %d\n",Matt.dob);
printf("Liscence number is: %d",Matt.liscenceNum);
return 0;
}
struct driversLiscence{
char name;
name
是单个字符。 除非您生活在一个非常小的社会中,人们只有一个字母的名字,否则您将需要更多的字符来存储这个人的名字。
你要:
struct driversLiscence{
char name[MAX_NAME_LENGTH];
您的name
可以是MAX_NAME_LENGTH - 1
字符。
但是如果你编译你的代码,你会遇到另一个问题,因为 arrays 不能被分配。 您需要将名称复制到此结构成员中。
strcpy(Matt.name, "Matt");
您也可以将name
声明为指向char
的指针,但我认为这对您来说有点早,并且它引入了新的要求和问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.