【发布时间】:2012-11-23 07:33:07
【问题描述】:
C99 6.5/6 访问其存储的对象的有效类型 value 是对象的声明类型,如果有的话。 75)
如果一个值通过 lvalue 的类型不是字符类型,然后是 左值成为该访问的对象的有效类型 以及不修改存储值的后续访问。
如果一个值被复制到一个没有声明类型的对象中 memcpy 或 memmove,或复制为字符类型数组,则 该访问的修改对象的有效类型和 不修改值的后续访问是有效类型 从中复制值的对象的名称(如果有的话)。对所有人 对没有声明类型的对象的其他访问,有效 对象的类型只是用于 访问。
75) 分配的对象没有声明类型。
如 C99 中所述,静态对象的有效类型是它们声明的类型。
分配的对象如何获得它们的有效类型?
例如:
int *p = malloc(100 * sizeof(int));
为什么它们没有以声明类型开头?
【问题讨论】:
-
第二段,以“如果将值存储到没有声明类型的对象中”开头的段落准确地回答了您的问题。