是否有任何文档说明在 C 中应用于文字的指针转换的含义?
例如:
int *my_pointer = (int *) 9
这是编译器相关的还是标准的一部分?
编辑:根据下面的评论删除了误导性注释,谢谢。
最佳答案
int *my_pointer = (int *) 9
这并不指向文字 9
。它将文字 9
转换为指向 int
的指针。 C 表示从整数到指针类型的转换是实现定义的。
int *my_pointer = &(int) {9};
确实如此。它使 my_pointer
指向值为 9
的 int
对象。
关于c - 理解应用于文字时 C 指针转换的语义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16119289/