小编Eul*_*ian的帖子

这个类型结构定义的指针是什么意思(在C中)?

在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我是新来的,所以对这个问题的格式的任何反馈也将不胜感激.

c pointers structure dereference anonymous-struct

22
推荐指数
1
解决办法
812
查看次数

标签 统计

anonymous-struct ×1

c ×1

dereference ×1

pointers ×1

structure ×1