关于new 与 malloc的一个问题
来源:互联网 发布:linux下配置环境变量 编辑:程序博客网 时间:2024/05/16 10:31
using namespace std;#include<iostream>int main(){ char str1[100]="abcdefg";char str2[10]="hijk"; int n=strlen(str1); strcpy(str1+n,str2);cout<<str1<<endl return 0;}
直接用数组定义才正确,下面这两种都不正确:
使用malloc手动分配内存
int main(){ char *str1=(char *)malloc(100*sizeof(char));char *str2=(char *)malloc(100*sizeof(char));str1="abcdefg";str2="hijk"; int n=strlen(str1); strcpy(str1,str2); //memcpy(str1,str2,1); cout<<str1<<endl; getchar(); return 0;}
使用指针,new分配内存
int main(){ char *str1=new char[100]; char *str2=new char[100];str1="abcdefg";str2="hijk"; int n=strlen(str1); strcpy(str1+n,str2); cout<<str1<<endl; return 0;}
不都分配了内存吗?怎么回出错
看下面的解决方法http://blog.csdn.net/daiyutage/article/details/8605580
然后我们知道了,原来对str1我们赋值字符串后,存放在了文字常量区,不可修改,出现错误!
0 0
- 关于new 与 malloc的一个问题
- 关于 new 与 malloc 的一些总结
- new与malloc的奇怪问题?
- 关于new的一个问题
- 关于new,delete与malloc,free的讨论
- 关于malloc/free与new/delete的区别
- Malloc与new的区别
- malloc与new 的区别
- Malloc与new的区别
- Malloc与new 的区别
- malloc 与new 的区别
- Malloc与new的区别
- new与malloc的区别
- malloc与new的区别
- new与malloc的区别
- new与malloc的区别
- Malloc与new的区别
- Malloc与new 的区别
- C#Winform实现高效率导入和导出Excel文件
- Array, ArrayList, LinkedList之间的区别分析
- 详解HTTP中GET和POST的区别
- C语言编程实现使用AES对文件进行加密
- Socket网络通信
- 关于new 与 malloc的一个问题
- Java IO - CharArrayReader&CharArrayWriter
- POJ 3984 迷宫问题(bfs搜索,递归打印)
- CodeVS 1039 数的划分
- 格子刷油漆(DP)
- Tomcat启动:A fatal error has been detected by the Java Runtime Environment(JVM Crash分析及相关资料)
- PAT乙级—1047. 编程团体赛(20)-native
- 配置java 和tomacat环境过程
- C++实验6--数组合并