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