已采纳回答 / 天涯落葉
输出p的地址 可以用 cout<<&p<<endl;C++当然也可以格式,比如cout << hex <<100; 可以输出100的十六进制可以百度一下c++输出格式,有详细的
2016-06-11
最赞回答 / qq_钱剑强_0
尽管楼主的代码可以得到正确输出,但实际上发生了‘缓冲溢出’的错误。之所以楼主得到正确输出应该是视频作者提供的编译器存在Bug没有报错导致的。排名第一的答案在VS2015中编译也会报错。 错误的根源在于strcpy函数。strcmp函数在运行时的过程如下:首先生成一个缓冲区buffer,缓冲区没有限制大小可以接收任意长的字符串(本例为"Hello imooc")。然互缓冲区中的字符串拷贝到str,str在内存中指向char型数组(大小为6字节),也就是说"Hello imooc"拷贝到了cha...
2016-06-06
程序很简单,但是每个字都是有很深的含义,例如:Hello C++字符串到分配的堆中
大家都知道一个进程内存空间分为代码区,全局区,BSS段,栈区,堆区,只读常量区(一般划分到代码区),用new 申请就是针对堆区,也是程序员掌控的区域。
有人考虑过这样一个问题,例如
大家都知道一个进程内存空间分为代码区,全局区,BSS段,栈区,堆区,只读常量区(一般划分到代码区),用new 申请就是针对堆区,也是程序员掌控的区域。
有人考虑过这样一个问题,例如