疑惑:

1. const修饰的变量都存放在常量区吗???

2. 字符串常量存放在那???为什么字符型指针(char*)指向字符串不能修改其内容???

字符串的演变:

char* p="123456";

“123456”(常量字符串)----》char []------》static const char[]----->char*p

如果不懂,请往下看:

先看导火索:

报错。。。。。

在回答之前我先解释字符串常量是什么???

由于c的基本类型中没有String,所以其储存的方式,就因该转换为基本类型的储存或表达方式。

当一个字符串常量(“12313123”)出现在表达式中时,系统会给字符串增加一个'\0'作为字符串的结束标志,并以char为单位按顺序存放在。这不是字符数组的存储方式吗??所以我们可以按照字符数组的形式操作字符串的每一项。

实验:

接下来说明它存储在哪个区???

首先,我们知道字符串是常量。但是常量一定就存放在常量区吗??请阅读下面这篇文章:

https://blog.csdn.net/silently_frog/article/details/96737764

通过这篇文章,我们知道什么常量不存放在常量区中,且可以修改其内容。

而我们最开始的实验,字符串常量不能修改其内容

所以其存放在常量区中。

还有通过反编译也可以知道字符串常量存放在常量区:

https://www.cnblogs.com/yanqi0124/p/3795547.html

c语言---字符串为什么不能修改内容???字符串常量存放在常量区吗???相关推荐

  1. c语言字符串长度,占用字节大小,存放位置等问题

    参考文章:https://www.cnblogs.com/xmhsincere/p/4915354.html 1.三者长度strlen问题 int main () {char *str="x ...

  2. c语言如何用fscanf将字符串读取,在c语言中如何将文本内容 赋给一个 字符串

    在c语言中如何将文本内容 赋给一个 字符串 来源:互联网  宽屏版  评论 2009-08-13 04:59:12 分类: 电脑/网络 >> 程序设计 >> 其他编程语言 问题 ...

  3. python用方括号提取字符中的数值_Python使用re模块正则提取字符串中括号内的内容示例...

    Python使用re模块正则提取字符串中括号内的内容示例 本文实例讲述了Python使用re模块正则提取字符串中括号内的内容操作.分享给大家供大家参考,具体如下: 直接上代码吧: # -*- codi ...

  4. 【C语言进阶】字符函数和字符串函数

    前言 在文章之前我们要知道C语言中对字符和字符串的处理很是频繁,但是C语言本身是没有字符串类型的,字符串通常放在常量字符串中 或者字符数组中. 字符串常量适用于那些对它不做修改的字符串函数. 介绍常用 ...

  5. C语言 详解如何编写闪烁显示字符串的函数

    如果要实现指定字符串在标准输出流(一般为显示器)上闪烁,可以定义如下函数: void bput(const char*s,int appe,int disa,int repe) 字符串s出现appe秒 ...

  6. 江哥带你玩转C语言| 12 -二维数组和字符串

    二维数组 所谓二维数组就是一个一维数组的每个元素又被声明为一 维数组,从而构成二维数组. 可以说二维数组是特殊的一维数组. 示例: int a[2][3] = { {80,75,92}, {61,65 ...

  7. C语言中的字符函数和字符串函数

    目录 前言 1.常用函数介绍 1.1 strlen 1.2 stycpy 1.3 strcat 1.4 strcmp 1.5 strncpy 1.6 strncat 1.7 strncmp 1.8 s ...

  8. 程序设计与C语言引论笔记——字符数组与字符串

    字符数组与字符串 字符串字面量 C语言规定了字符串字面量的描述方式:用一对双引号括起的任意字符序列就是一个字面量的字符串. 这里唯一的限制是一个字符串不能跨越两行.如果顺序写出多个字符串,他们之间仅由 ...

  9. JAVA语言中数字、字符和字符串处理

    前言: JAVA语言中针对数字.数学运算.字符.字符串有专门的类,分别是Number.Math.Character和String. 1.数字: JAVA对数字处理的相关方法被封装在java.lang包 ...

最新文章

  1. Vertica系列:从一些细节看Vertica为什么是一个优秀的数据仓库平台
  2. ldap 管理_彻底改变内容管理,财务,LDAP等
  3. python在电脑哪可以找到_哪里可以找到比较靠谱的Python教程?
  4. 手机 modem 开发(7)---3GPP协议下载地址
  5. 一路风景---我期待的是师生关系
  6. “变态级”系统管理员笔试题 我的答卷
  7. 上传本地代码到github从github下载源码
  8. 处理兼容问题:对于某些css3属性需要加前缀?
  9. Anaconda 下各种第三方库的安装
  10. Canny算子边缘检测——非极大值抑制Non-Maximum Suppression
  11. android投屏小米盒子,Mibox S 小米盒子国际版:可能是 2019 新年最值的原生 AndroidTV...
  12. 2022新版彩虹易支付系统源码支持当面付通道轮询第三方支付免签约
  13. FINAUNCE金融业增速反弹信贷投放创新高叠加股市回暖
  14. 华人教授世界一流大学观察报告:斯坦福师生吃饭时,谈论的都是什么话题?...
  15. 程序员上班摸鱼,这么玩才高端!
  16. 人工智能 知识总结
  17. Android利用Socket与硬件通信之智能家居APP
  18. 莱布尼兹普遍演算的定义注释--逻辑与算法之十八
  19. 我学编程全靠B站了,真香(第一期)
  20. Instagram Win10 UWP版更新:新增故事滤镜等大波功能

热门文章

  1. 无懈可击的web设计笔记
  2. ChatGPT 镜像网站,无需账号,无地区限制!
  3. Yapi安装/修改账户密码
  4. html里按钮始终在底部,详解footer始终位于网页底部的方法介绍
  5. Inspection info:Detects duplicates in source code
  6. 另类烹饪 用电吹风做出脆皮烤鸡!本文来自:可可英语
  7. Linux平台下动态链接库.so转换成windiws平台下.dll文件并使用python调用
  8. 要么到岗,要么离职!马斯克:特斯拉「远程办公」到此结束
  9. 数据库读写分离的理解
  10. 万象:SpaceX 火箭回收的失败案例汇总