关于字符串数组的问题
来源:互联网 发布:网上商城系统web源码 编辑:程序博客网 时间:2024/05/01 07:00
#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是一个数组,分配的是一块栈上的内存,而上面只是一个指针,没申请内存!
char s[]="abcdef";//这是告诉编译器,要用一个字符数组,里面放上“abcdef”这个内容(编译器开一个空间放上字符数组的内容)
char *p="abcdef"; //这个是告诉编译器,要用一个指针(编译器开一个空间放指针),让指针指向放着“abcdef”内容的地方,eoh,这时候没为“abcdef”开空间,那编译器就认为这个是常量字符串了,自己把它放常量区里,让指针指向常量区的这个串。既然是常量区的东西,那以后就不能改了,尽管p能指向并读取,但不能改写。
0 0
- 关于字符串数组的问题
- ruby中关于字符串数组的删除的问题
- 关于char数组和字符串的一些问题
- 关于字符串与字符数组的一些小问题
- 关于字符串 字符数组 字符型指针的问题
- 关于JAVA字符串对象数组的循环次数问题
- 关于字符串数组赋值的问题--java.lang.NullPointerException异常
- js里面关于数字 字符串 数组 的问题
- 字符串数组的问题!
- 关于数组指针,指针数组和字符串数组的一些问题
- 关于数组的问题
- 关于数组的问题
- 关于memcpy拷贝结构体、结构体数组到字符数组(字符串)的问题
- 字符串数组的初始化问题
- 字符串数组的初始化问题
- 关于数组地址的问题
- 关于动态数组的问题
- 关于数组的一些问题
- Android 切换系统语言源码分析
- QTableWidget控件使用总结
- iOS——plist对象转模型
- C_argc与argv
- 求出1~1000之间的完全平方数,每行输出六个
- 关于字符串数组的问题
- A - Doing Homework again
- java中缓存的使用
- bzoj 2186: [Sdoi2008] 沙拉公主的困惑 (数论,逆元)
- [HeadFirst-JSPServlet学习笔记][第一章:前言与概述]
- 【Vuforia】基于Vuforia增强现实开发(二)之模型移动
- 求出1~1000之间的素数,每行输出六个
- java方法执行图解
- 数据结构 - 知识点