gpt4 book ai didi

c - 从类型 'char*[length] '(矩阵 + 结构)分配给类型 'char*' 时的类型不兼容

转载 作者:太空宇宙 更新时间:2023-11-04 03:11:33 25 4
gpt4 key购买 nike

我正在做作业。我们必须用新类型的结构创建矩阵。

#include<stdio.h>
typedef char* String;
typedef struct{
String Name[10];
String ID[6];
float yo;
}data;

int main(){
data user[3][3];
// some code
// wanna assign value
user[0][0].Name="Charles";
user[0][0].ID="123123";
user[0][0].yo=20;
// another code
}

当我尝试编译它时,它显示错误

[Error] incompatible types when assigning to type 'char*[10]' from type'char*'

如何解决?

最佳答案

我认为您的 typedef 无法帮助您理解问题。

typedef char* String;
String Name[10];

你在这里写了 String Name[10] 这相当于 char *Name[10] 是 char 上的指针数组。

user[0][0].Name="Charles";

在这里,您将值Charles(可以理解为char*)分配给类型为char *[]的变量

此外,如果你想分配一个 char * 值(假设你解决了第一个问题),你可以使用 strcpystrdup例如,(如果你使用 strcpy 不要忘记 malloc)

希望你明白

关于c - 从类型 'char*[length] '(矩阵 + 结构)分配给类型 'char*' 时的类型不兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55867198/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com