coredump原因

Core dump调试

生成core 文件,gdb

指针字符串

字符指针与字符数组定义的差别

它们最根本的区别是在内存中的存储区域不一样,字符数组存储在全局数据区或栈区,而以指针形式表示的字符串却存储在常量区。全局数据区和栈区的字符串(也包括其他数据)有读取和写入的权限,而常量区的字符串(也包括其他数据)只有读取权限,没有写入权限。一句话概括:数组形字符串存放在全局数据区或栈区,可读可写。指针字符串存放在常量区,只读不能写。

简单来说 就是 char*p=”abc”储存在常量区,不能进行写操作,char[]=”abc”存储在全局数据区或者栈区,可读可写

试图对常量区的值进行写操作会造成coredump

猜你喜欢

转载自blog.csdn.net/micheal2731/article/details/86565436