C和指针 6.9 指针常量

缘起

《C和指针》 6.9节

分析

假定变量a的地址是100. 但是下面的表达式是非法的

1
*100 = 1;

因为 * (间接访问操作符)只能用于指针类型的表达式,而100是整型常量.

如果你确实是想修改 100 存储的变量的内容的话,可以

1
*(int *)100 = 1;

即强制类型转换100这个整型常量为指向整型的指针常量. 但是这种技巧几乎在编程中用不到.