25 lines
596 B
C
25 lines
596 B
C
|
// 结构体的成员是指针
|
||
|
// 如果结构体中的成员是指针时,可以直接赋值(常量区的地址)或者可以从堆区申请空间后赋值
|
||
|
|
||
|
#include <stdio.h>
|
||
|
#include <string.h>
|
||
|
|
||
|
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;
|
||
|
}
|