【发布时间】:2023-04-01 07:56:01
【问题描述】:
typedef struct book {
int a;
int b;
char cb[100];
book(int a1, int b1, char* cb1) {
a = a1;
b = b1;
cb = cb1;
}
} book;
为什么我不能将 cb 初始化为 cb1 以及如何在没有 strcpy 的情况下做到这一点?
【问题讨论】:
-
cb是数组,不是指针,不能赋值。它实际上是在结构内部已经为你分配的内存,你得到了这个地段的关键。就像“在这里,我买了房子,它在 Wayway Ave 39”,而你的妻子说“太好了,你能把它搬到马路对面到 Wayway Ave 40 吗?”如果您想要一个可以分配给的指针,请改为char *cb。