#include <stdio.h>
typedef struct {
char * name;
int age;
} person;
int main() {
person john;
/* testing code */
john.name = "John";
john.age = 27;
printf("%s is %d years old.", john.name, john.age);
}
这是一段运行良好的代码,我只有一个小问题。在结构体部分,当我删除name
前面的*
后,这段代码就不再工作了,但无论age
的类型是int还是指针,它都能正常工作。那么,有人能告诉我为什么name
必须是指针,而不仅仅是char类型吗?