数组,字符串,指针,内存分配机制

char *ptr = “123456”;//定义一个char型指针,指针指向字符串123456

这里,双引号完成以下几件事

1 申请存储空间 常量区

2 尾部添加\0

3 返回地址,返回了字符串的地址给了ptr。

如果继续执行下面一句

ptr[0] = '3';

此时将会出现段错误。

原因 “123456”所使用的是字符串所在的地址(在常量区,只读),而不是字符本身。

关于const 声明的变量存储在常量区,表示不希望被更改,具备只读属性,如果想对常量区进行修改,修改流程 取地址,改。

猜你喜欢

转载自www.cnblogs.com/fanghaiyunji/p/9173694.html