其本质就是常量值不可修改。
C语言中定义为常量的值,是不允许被修改的,这是一个规则。如果有修改需求,就不要定义为常量,而是定义为变量。
在运行时,常量字符串会被存储于特定的常量空间,这段空间的特性就是只读的,任何修改操作,均会引起整个程序崩溃。这也是C语言保证常量不可修改的一个手段。
指向字符串常量的话,这段常量字符串是存储在静态存储区的,内容不能修改。
当然你可以让指针指到别的地方
const声明的是常量所在的段是只读的,程序不是所有地方都能改的,是有权限的,只读的存储区是不能写操作的,你只要写,就系统一定弹出异常信息,告诉你是只读的,操作无效,如果你想改就别声明称常量,当然你也有改的办法,去EXE文件里改吧,只要你能找到地方。。。。
系统内存会划分如下区域:常量数据区、栈区、自由存储区、堆区 、全局/静态区,其中常量存放在常量数据区,这个区域是只读的,用指针也无法改变这块区域的内容。
常量就是常量,不是变量,不能改变