c/c++ 对struct进行浅复制

对于一个指针进行解引用,然后复制给另一个引用,那么效果等价于进行了浅复制。

#include 
#include 
#include 
#include 
#include 

using namespace std;

struct node{
	int data;
	char name[10];	
};

int main(){
	int pid=fork();
	if(pid==0){
		printf("child\n");
	}
	else{
		printf("parent\n");
		struct node * node1=(struct node*)malloc(sizeof(struct node));
	  node1->data=12;
	  strcpy(node1->name,"world");
	  printf("%d %s\n",node1->data,node1->name);
	  struct node node2=*(node1);
	  node2.data=13;
	  cout<<"node1 data is:"<data<<" name is:"<name<


上面程序的运行结果为:

child
parent
12 world
node1 data is:12 name is:world
node2 data is:13 name is:world

你可能感兴趣的:(c/c++ 对struct进行浅复制)