黑马程序员技术交流社区
标题:
黑马程序员-----指针修改导致的内存分配问题
[打印本页]
作者:
champion
时间:
2014-11-28 01:59
标题:
黑马程序员-----指针修改导致的内存分配问题
------<a target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
复制代码
我在做基础题的时候遇到一个关于指针修改指向地址内容的问题。
题目要求输入一个字符串,如果是字母就替换成后面的三个字母,比如:2g55 替换后是:2hij55
基础视频里,老师分析内存占用的时候,说字符串地址分配是这样的,如图
代码:
int main()
{
char string[]="2g556";
char *p=&string[1];
p="hij";
return 0;
}
复制代码
字符串在内存的地址按从上到下排列,指针p指向g所在的地址ffec6,原来存储一个字符的地址,现在改成了三个字符。会把后面地址的字符覆盖了吗?
还是从这个地址插入三个字符,后面的字符移到下面的内存地址中?或者又是以其它的存储方式在内存中存放?
请大神赐教,小弟不胜感激!
内存分配.png
(2.05 KB, 下载次数: 2)
下载附件
2014-11-28 01:53 上传
内存分配
作者:
天空总是很蓝
时间:
2014-11-28 02:26
还不睡觉吗 这都几点了啊 别给累坏了:lol
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2