"abcde"是字符串常量
2013-01-05 18:29
288 查看
main(){
char *p1="abcde"; //p1是main函数中的局部变量,存放在栈区;"abcde"是字符串常量,存放在数据区
char *p2=(char*)malloc(10); //p2存放在栈区;malloc来的10个字节位于堆区
char *p3=dup(p1); //dup背后调用了malloc
p1[0]='w'; //错误,字符串常量不可修改
char *p4=index(p1,'d'); //p4指向了数据区中的"abcde"中的'd'
p4='w'; //错误,字符串常量不可修改
char *p5=index(p3,'d'); //p5指向了堆区中的"abcde"中的'd'
p5='w'; //正确
printf("%s\n",p5); //输出we
printf("%s\n",p3); //输出abcwe
free(p2);
free(p3);
}
char *p1="abcde"; //p1是main函数中的局部变量,存放在栈区;"abcde"是字符串常量,存放在数据区
char *p2=(char*)malloc(10); //p2存放在栈区;malloc来的10个字节位于堆区
char *p3=dup(p1); //dup背后调用了malloc
p1[0]='w'; //错误,字符串常量不可修改
char *p4=index(p1,'d'); //p4指向了数据区中的"abcde"中的'd'
p4='w'; //错误,字符串常量不可修改
char *p5=index(p3,'d'); //p5指向了堆区中的"abcde"中的'd'
p5='w'; //正确
printf("%s\n",p5); //输出we
printf("%s\n",p3); //输出abcwe
free(p2);
free(p3);
}
相关文章推荐
- 用C实现C++的多态---剖析GTK的"对象" (一)
- "ChinaRen社区 - 校园杂谈 - 在北大校园BBS引起轰动的一篇文章" 看看哈 ~~~
- <mvc:annotation-driven/>、<context:component-scan base-package=""/>、<context:annotation-config/>的用法
- "Could not find or load main class" in Hadoop or Java using Maven
- 如何使用"MySQL-Proxy"实现读写分离
- "围观"设计模式(1)--单一职责原则(SRP,Single Responsibility Principle)
- "谷歌"侵权遭起诉,Google处境颇尴尬
- "Loading data for Android 5.0" has encountered a problem. Parsing Data for android-21 failed uns
- "微软收购Zend"假新闻看开源需要新心态
- "0x0055cde3"指令引用的内存"0x0000ffff"
- <s:property> 标签的escape="false"属性
- "Hadoop namenode -format" get "java.net.UnknownException"
- "=="和equals方法究竟有什么区别?
- <meta http-equiv=”X-UA-Compatible” content="IE=EmulateIE8" />
- 换一个视角看事务 - 用"Java语言"写"作文"
- "Crazy"的李阳
- 解决ssh的"Write failed: Broken pipe"问题
- 关于Symbian的"程序已经关闭"错误
- "ora-00988 缺少或无效口令"问题的解决方法
- &quot;The&nbsp;Silverlight&nbsp;Developer&nbsp;Runti…