如果指针只是地址,为什么我不能为指针指定特定的int地址?

0 c int pointers

正如我已经解释过的那样,指针是一个包含地址的变量.为什么我无法做到int *p = 5;,那不是正确指向内存地址5吗?

MBy*_*ByD 6

指针是数据类型,而不仅仅是地址,而int是不同的,不兼容的数据类型,因此您不能将int赋给指针.

如果你真的需要它,并且你知道你在做什么,你可以将int(ie char * p = (char*)5;)转换为特定的数据类型,但是在极少数情况下你需要这样的东西.