深拷贝与浅拷贝

来源:互联网 发布:手机截屏是那个软件 编辑:程序博客网 时间:2024/06/05 11:58
深拷贝与浅拷贝

浅拷贝:多个指针指向同一段内存(生活中的共享)
              字符串常量就是浅拷贝
              特点:不能修改
#include<stdio.h>//浅拷贝int main(){char buf[100];char *str[3];//指针数组int i;for(i = 0;i < 3;i++){scanf("%s",buf);str[i] = buf;}for(i = 0;i < 3;i++){printf("%s\n",str[i]);}return 0;}

深拷贝:

#include<stdio.h>#include<string.h>#include<stdlib.h>//深拷贝int main(){char buf[100];char *str[3];int i;for(i = 0;i < sizeof(str)/sizeof(str[0]);i++){scanf("%s",buf);str[i] = (char *)malloc(strlen(buf)+1);strcpy(str[1],buf);}for(i = 0;i < 3;i++){printf("%s\n",str[i]);}return 0;}







原创粉丝点击