【发布时间】:2014-07-18 06:03:32
【问题描述】:
我的 C 代码似乎有类似的指针分配,但在编译时表现出不同的行为。
我的结构声明和定义如下,
typedef struct {
int a;
char b[20];
}
TestStruct;
TestStruct t1;
为什么下面的代码给出“错误:从‘char *’类型分配给‘char[20]’类型时不兼容的类型”
t1.b = "Hello World";
但是下面的代码编译成功,
char *charPtr = t1.b;
charPtr = "Hello World";
注意:我使用的是 GCC 编译器 v4.6.3
【问题讨论】:
-
指针就像一个人的名字;它指向的就像那个名字的人。想象一下,试图让一个人在要求姓名的表格上排队,或者把一个人的名字放在椅子上而不是这个人自己......
标签: c