一个关于指针的问题
来源:互联网 发布:网络推手是什么意思 编辑:程序博客网 时间:2024/05/02 02:32
#include <stdio.h>
int main()
{
char *p="abcdef"; //很多书上说:p在栈,“abcdef”在数据区 :没错!!!!
p[2]='W';
printf(p);
getchar();
return 0;
}
这个程序编译通过,但是问什么程序运行会出错? //p指向的是一块常量数据区,不能修改其值!!!!
另一个:
#include <stdio.h>
int main()
{
char s[]="abcdef";//s在栈,“abcdef”在数据区 //正确!!!!!!!!!!
s[2]='W';
printf(s);
getchar();
return 0;
}
这个程序能够正常输出! //因为s是一个数组,分配的是一块栈上的内存,而上面只是一个指针,没申请内存!
- 一个关于指针的问题
- 一个关于指针的问题
- 一个关于指针的问题
- 关于static指针的一个严重问题
- 关于指针的一个小问题
- 关于一个指针取值的问题
- 关于指针的一个小问题
- 一个关于二维指针的问题
- 关于函数指针的一个问题
- 关于一个指针问题的困惑
- 由“一个关于指针的小问题”想到的:常量指针与指向常量的指针
- 一个关于指针的问题 int (**def)[3]的解析
- 一个关于指针间赋值及间接求值的问题
- 关于C指针的一个问题(获取内存)
- 关于字符串指针初始化std::string的一个小问题
- 关于数组与指针的一个小问题
- 一个指针的问题
- 关于指针的问题
- 制作ICO格式透明图标
- effective C++ 读书笔记(下)
- JDK实现规定时间执行规定任务代码
- osgi 片段 Fragment
- 新浪微博接口使用总结
- 一个关于指针的问题
- System.Windows.Forms.Timer与System.Timers.Timer区别
- 在OpenCMS中使用自己的数据库
- 路,怎么走
- XShell技巧收集
- Mysql中单引号和双引号的 区别(转载)
- MFC写的在线客服
- vb求高手帮忙!
- Web Services教程——目录