在 K&R 第 6 章中,声明如下:
struct{
int len;
char *str;
} *p;
我不明白这个指针 p 指向哪个结构,以及这样的指针定义是否有效,因为在书中给出的所有其他示例以及我所看到的其他示例中,在定义指向结构的指针时,结构,即定义的类型需要提及。例如,
struct example{
int a;
...
}s1;
进而,
struct example *ptr = &s1;
因此,有人提到 ptr 指向类型结构示例而不仅仅是结构。
此外,特别感兴趣的是:
*p->str 获取 str 指向的任何内容;*p->str++ 在访问 str 指向的任何内容后递增(就像 *s++);
我一开始就无法理解 p 是什么,因此也不能理解增量和取消引用。
这里发生了什么?
提前致谢!
PS我是新来的,所以对问题格式的任何反馈也将不胜感激。