#include <stdio.h>
int main() {
const char c = 'X'; // c为常量 不能修改
char *p1; // 危险的未赋值的悬挂指针
const char **p2 = &p1; // 会有编译警告 因为=两边指针类型不同
*p2 = &c; // 修改p2指向的地址 这导致p1被修改为&c
*p1 = 'Y'; // 此时p1指向的c被修改为Y
return 0;
}
使用const char **绕过编译器修改const char
最新推荐文章于 2024-03-18 15:13:08 发布
本文通过一个简单的C语言程序示例展示了如何不当使用指针和常量可能导致的潜在问题,包括悬挂指针和修改常量等常见错误。

304

被折叠的 条评论
为什么被折叠?



