关于字符串指针不可修改的问题
C/C++ code
但是出运行时错误。
----------------------------------------------------------
我用数组下标的方式是可以修改的:
- C/C++ code
-
int i =0; char w[] ="hello"; w[1] ='s'; while(w[i] !='\0'){ printf("%c\n",w[i]); i++; }答复一:char *m = "hello";
"hello"保存在静态数据区,该数据不能修改.
由指针m指向. 不能通过指针m来修改静态数据区的值.char w[] = "hello";
"hello"保存在栈空间数组里. 数组名为w, 函数名为数组的首地址.
可以通过w[i]='a', 或*(w+i)='a'的形式来修改数组内容.疑问:这种说法是错误的。如下:static int a = 10;
int *b = &a;
*b = 20;
cout<<a<<endl;输出结果为20.我们依然通过指针修改了存储在静态存储区里的数据源。//---------------------------------------------------答复二:字符串“hello”本身就是一个常量字符指针,而对于指针m,无非就是一个地址的拷贝,也就是“hello”地址的拷贝,相当于m指向一个字符串常量,字符串常量是不予许改变的!而对于w[]来说就不一样了,虽然hello本身是常量,不过此时拷贝给w[]的不是地址,而是内容,也就是“hello”,也就是w本身拥有一个自己的hello副本,可以对其进行想要的合法操作,比如改变等!!
回复三:char *m = "hello";
"hello"保存在文字常量区,该数据不能修改,默认有只读属性.
由指针m指向. 不能通过指针m来修改此值.char w[] = "hello";
"hello"保存在栈空间数组里. 数组名为w, 函数名为数组的首地址.
可以通过w[i]='a', 或*(w+i)='a'的形式来修改数组内容.
转载于:https://www.cnblogs.com/CBDoctor/archive/2012/09/27/2705776.html
关于字符串指针不可修改的问题相关推荐
- C语言中字符数组和字符串指针分析
写下面的测试程序: #include <stdio.h> int main(int argc, char *argv[]) { char day[15] = "abcdefghi ...
- 【C 语言】指针 与 数组 ( 指针 | 数组 | 指针运算 | 数组访问方式 | 字符串 | 指针数组 | 数组指针 | 多维数组 | 多维指针 | 数组参数 | 函数指针 | 复杂指针解读)
相关文章链接 : 1.[嵌入式开发]C语言 指针数组 多维数组 2.[嵌入式开发]C语言 命令行参数 函数指针 gdb调试 3.[嵌入式开发]C语言 结构体相关 的 函数 指针 数组 4.[嵌入式开发 ...
- C++ 字符串指针与字符串数组
在做面试100题中第21题时,发现char *astr="abcdefghijk\0";和char astr[]={"abcdefghijk"};有点区别,以前 ...
- C++ 字符串指针和字符串指针数组详解
C++处理字符串有两种方式,即:指针方式和数组方式 数组方式:char a[] = "HelloWorld"; 指针方式:const char* s = "HelloWo ...
- 字符串指针的地址的传递
字符串指针的地址的传递 #include <iostream>using namespace std;void change(char **a) {(*a)++; }int main() ...
- 厦大2021届大一小学期C语言作业1 数组+字符串+指针+位操作
文章目录 一.数组与指针 1.手搓冒泡排序(从大到小) 2.矩阵的转置和打印 3.判断矩阵是否对称 4.最大元素与最后元素互换(用指针) 5.首地址偏移法逆序排序 6.指针移动法逆序排序 7.用元素指 ...
- 字符串指针——指向字符串的指针
转载自:字符串指针 字符串指针--指向字符串的指针 C语言中没有特定的字符串类型,我们通常是将字符串放在一个字符数组中,这在<C语言字符数组和字符串>中已经进行了详细讲解,这里不妨再来演示 ...
- c语言---字符串为什么不能修改内容???字符串常量存放在常量区吗???
疑惑: 1. const修饰的变量都存放在常量区吗??? 2. 字符串常量存放在那???为什么字符型指针(char*)指向字符串不能修改其内容??? 字符串的演变: char* p="123 ...
- C语言补漏:字符串指针与字符数组传参
字符串指针与字符数组传参 深信服的笔试上被吊打,其中对一道用指针做形参的题目印象十分深刻,借此恶补了一晚上指针,今天总结,以作警示. 试想有如下情形,将一个字符串指针做形参赋值函数修改其字符串,函 ...
最新文章
- mysql的B+树如何存储主键和数据,磁盘io和innodb页大小的一些问题
- 抖音数据统计_“彭十六elf”单条视频获赞200W+,荣登抖音TOP20丨红人榜
- 如何在 C# 中使用 AutoMapper
- Depth-first Search深度优先搜索专题7
- java模块_Java 9 揭秘(2. 模块化系统)
- MyBatis复习(五):获取多表关联查询结果
- php中find的函数_filter()、find()函数的区别
- docker镜像和容器的导出导入
- 【python】装饰器小结(被装饰函数有/无返回值情况,保留被装饰函数信息)
- iframe src 不加载页面_iframe和frame的区别是什么?iframe和frame的区别总结
- 图书馆占座系统(四)
- 【转载】制作一个超精简的WIN7.gho
- Liferay门户应用前景分析
- 路径详解(绝对路径,相对路径,根相对路径)
- 一个华为人在华为工作十年的感悟 --徐家骏
- 如何设计一个C++的类?
- XUPT_ACM2021寒假训练第二周练习记录
- 计算机没有打字键盘显示不出来,键盘打不出字怎么回事
- Yarn框架和工作流程简介
- 【免费领取】趣味测试小程序源码/内置超多趣味测评+可插入流量主广告位微信小程序源码
热门文章
- 【科普】STP生成树协议
- 硬核!OSPF路由协议归纳大全~
- 【干货】救火必备:线上故障排查套路大全
- php 单例模式的日志类,php单例模式实现日志处理类库
- 罗美琪和春波特的故事...
- 快速搭建 Serverless 在线图片处理应用
- Knative 实战:如何在 Knative 中配置自定义域名及路由规则
- 冒险者传说pc6java_冒险者传说
- 数据丢包怎么修复_交换机发生网络通信故障怎么解决?
- 给oracle用户赋权限导入导出,Oracle常用命令-用户、表空间、赋权限、导入导出...