在C中,以下定义明确吗?
void* ptr = &ptr;
void* array[1] = {array};
换句话说,您可以使用变量的地址来初始化该变量吗?它似乎与GCC编译器一起使用,但我只是想知道它是否是我可以依赖的东西。
编辑:这实际上是Defining a pointer to refere to same variable name's reference?
的副本答案 0 :(得分:0)
它应该是合法的。由于ptr不是const,因此它的初始化值在.text代码区域中不固定,因此应该在运行时知道它并用正确的值写入RAM。