您的位置:首页 > 编程语言 > C语言/C++

C语言结构体赋值问题

2016-08-12 10:08 363 查看
本身做Java比较多,直接在C中将一个结构体赋值给另一个结构体时,不太确定会发生什么事。下面写了一个小例子测试。

结论是:

C结构体直接复制类似于深拷贝,改变被修改的结构体不会影响到原来的结构体。

代码:

#include <stdio.h>

typedef struct{
char *name;
int age;
}student;

int main(){

student a,b;
a.name = "zhangsanfeng";
a.age = 23;

b.name = "lisi";
b.age = 25;

a = b;

printf(a.name);

a.name = "i changed";

printf("\na.name: %s\n",a.name);
printf("b.name: %s\n",b.name);

printf("\n");
return 0;
}

输出为:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: