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;
}
输出为:
结论是:
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;
}
输出为:
相关文章推荐
- C语言结构体对齐存储问题以及给结构体中的数组的赋值问题
- c语言结构体赋值问题
- C语言结构体数组赋值问题
- c语言结构体赋值问题
- 实现赋值操作符要注意的问题
- 服务器控件HtmlTable下控件赋值问题
- 更改GetToolParts()方法中toolpart索引顺序导致的无法赋值的问题
- Java对象赋值引发的问题
- 赋值问题
- 初始化和赋值的一些问题
- fckeditor 的赋值问题
- 关于 DropDownList 赋值问题
- SELECT 赋值与ORDER BY冲突的问题
- 还是毕业设计的问题,Delphi中ADO数据库组件的TParameter&TParameters的问题,看了一些书上很少讲ADOQuery组件参数的赋值问题所以在这里提一下,希望对一些人有帮助
- 请教:给实体的属性赋值的问题
- ADO.NET来操作Access的sql参数赋值问题(转载)
- SELECT 赋值与ORDER BY冲突的问题
- double类型赋值问题
- [Symbian项目进展]TPtr类型的成员变量无法在构造函数中赋值的问题
- 返回值问题:使用了未赋值的局部变量