【发布时间】:2016-11-08 03:12:19
【问题描述】:
#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 必须是一个指针而不仅仅是一种字符?
【问题讨论】: