-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