将字符串分配给C中的typedef属性[重复]

c9qzyr3d  于 2023-05-22  发布在  其他
关注(0)|答案(1)|浏览(126)

此问题已在此处有答案

Assigning strings to arrays of characters(10个答案)
7天前关闭
为什么people[i].name =“something”这行不行?

#include <stdio.h>
#include <stdbool.h>
#include <string.h>

typedef struct {
    char name[100];
    char number[100];
}
person;

int main(void)
{
    person people[2];
    people[0].name = "Brian";
    people[0].number = "+1-617-495-1000";
    people[1].name = "David";
    people[1].number = "+1-949-468-2750";
}

我的IDE说我应该使用strcpy,但我很困惑为什么。

bt1cpqcv

bt1cpqcv1#

数组是不可修改的左值,即你不能分配给他们。你总是可以给单个数组元素赋值(假设它们不是const)。但是你不能给整个数组赋值。
编译器建议使用strcpy()是正确的。

相关问题