次のような興味深い演習を見つけました。
型自体を指すポインターの配列を含む型をCで記述します
今、私はそれが何を指しているのか本当によくわかりません。
struct a {
struct *b[];
}
int main(void) {
struct b[20]*;
for(i=0;i<19;i++)
b[i]=&b[i];
}
このように書けますか?
回答:
回答№1は1質問は次のようなものを求めています:
#include <stdio.h>
struct A
{
struct A* b[5];
};
int main(void)
{
struct A a;
int i;
for (i=0; i<5; ++i)
a.b[i] = &a;
return 0;
}
おそらく、ポイントは、型へのポインタを宣言する前に、型を完全に宣言する必要はないということです。
回答№2については4
いいえ、この演習では、ポインターが自分自身を指すように求めているわけではありません。それは「 タイプ それ自体」ということは、配列には次の値を指すポインターが含まれているということです タイプ struct a
。ポインタが実際に指すアドレスは関係ありません。