我是C的新手,我偶然发现了这个c-structure:
typedef struct
{
int dog;
int cat;
} FOO;
typedef struct
{
int id;
FOO* pRow[0]
} BAR;
我知道基本的c和c ++,但我不知道以下一行的动机:“FOO * pRow [0]”。
如果作者想要定义一个指向FOO数组的指针,那么他/她应该将其定义为“FOO * pROW”,对吗?为什么pROW [0]代表这种情况呢?
请赐教。 谢谢!
答案 0 :(得分:-2)
pRow
是一个指针数组。第一个元素pRow[0]
指向FOO结构。
如果你写FOO* pRow
,那么pRow只是一个指针