// 结构体的成员是指针 // 如果结构体中的成员是指针时,可以直接赋值(常量区的地址)或者可以从堆区申请空间后赋值 #include #include struct Data1 { int n; char *name; }; int main() { struct Data1 d1 = {1, "lucy"}; printf("%d %s\n", d1.n, d1.name); struct Data1 d2; d2.n = 100; // 字符数组名不能直接赋值,只能使用 strcpy 函数,因为数组名是常量 d2.name = "jack"; // 指针变量可以指向其它内容,可以修改 printf("%d %s\n", d2.n, d2.name); return 0; }