-2
int main()
{
int *tab[5];
int i=0;
for (;i<5; i++)
{
tab[i]=&tab[i];
}
return 0;
}
我想将自己的地址分配给选项卡的每个元素。为什么它不起作用?我想写在他们的指针自己的地址
int main()
{
int *tab[5];
int i=0;
for (;i<5; i++)
{
tab[i]=&tab[i];
}
return 0;
}
我想将自己的地址分配给选项卡的每个元素。为什么它不起作用?我想写在他们的指针自己的地址
你不能用int*
的数组来做到这一点。因为&tab[i]
将会是int**
。而那些指针类型是不兼容的。
然而,void*
指针可以容纳的地址任何其他对象指针,甚至一个void**
。因此,这个声明:
void* tab[5];
将您的程序变成一个良好的形式。
但问题是,你为什么要这么做? :D – Rakete1111
'&tab [i]'有什么类型?提示:它不是'int *'。 – Rakete1111
你想要做的事情是不可能的,因为类型需要无限递归。 –
ohhh所以我不能写指针的地址作为指针的价值? – icnm