什么是C中对象类型的指针?

Jin*_*Jin 7 c pointers object

例如,

int x = 10;
Run Code Online (Sandbox Code Playgroud)

然后将值10保存在内存中的某个位置.我听说过"指向int对象的指针",但我从未听说过"指向对象类型的指针".这是否意味着10存储的对象保存有关存储在对象中的值类型的信息,"指向对象类型的指针"的值显示此信息存储在内存中的位置?

das*_*ght 4

我认为提到“指向对象类型的指针”的文本正在谈论表示“指向对象的指针”的类型,即指向某物的指针。

这是否意味着存储10的对象保存了有关该对象中存储的值的类型的信息

在 C 中声明的变量的类型信息仅在编译程序的过程中相关。一旦你的程序被编译,类型信息就消失了。运行时没有类型信息存储在内存中。

这里是 C99 标准提到“指向对象类型的指针”的地方:

6.5.2.1 数组下标

其中一个表达式应具有“指向对象类型的指针”类型,另一个表达式应具有整数类型,并且结果具有“type”类型

这意味着指针表达式必须是指向特定类型的数据对象的指针。它不能是指向函数的指针,也不能是指向没有特定类型的数据的指针(即void*)。