首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C“不兼容的整数转换指针从'char [5]‘分配给'char’的结构错误[-Wint-转换]”

C“不兼容的整数转换指针从'char [5]‘分配给'char’的结构错误[-Wint-转换]”
EN

Stack Overflow用户
提问于 2022-01-25 22:23:43
回答 1查看 176关注 0票数 0

为我的数据结构和算法类学习C。我试图为一个驾驶证建立一个基本的结构,但是每当我去编译it.Any帮助的时候,我都会收到这个错误。

代码语言:javascript
复制
#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;
}
EN

回答 1

Stack Overflow用户

发布于 2022-01-25 23:16:51

代码语言:javascript
复制
struct driversLiscence{
    char name;

name是一个单一的字符。除非你生活在一个很小的社会里,人们只有一个字母的名字,否则你需要更多的字符来存储这个人的名字。

你想:

代码语言:javascript
复制
struct driversLiscence{
    char name[MAX_NAME_LENGTH];

而且您的name可以是MAX_NAME_LENGTH - 1字符很长。

但是,如果编译代码,就会遇到另一个问题,因为不能分配数组。您需要将名称复制到这个struct成员中。

代码语言:javascript
复制
    strcpy(Matt.name, "Matt");

您也可以将name声明为指向char的指针,但我认为这对您来说还有点早,它引入了新的需求和问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70856459

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档