红联Linux门户
Linux帮助

关于struct结构的一个问题

发布时间:2012-06-08 12:46:10来源:红联作者:1045715469
关于struct结构的一个问题
请问在
struct buffer_head{
...
...
struct buffer_head * p_next;
...
}
在buffer_head定义里使用了buffer_head类型去声明了p_next,这是怎么回事啊?
文章评论

共有 3 条评论

  1. micy1985 于 2012-06-08 21:16:39发表:

    p_next是一种指向struct buffer_head这种类型的指针,这里涉及到完全类型和不完全类型。详细分析如下:

    struct buffer_head{
    ...
    ...
    struct buffer_head * p_next;
    ...
    }

    当首次出现“struct buffer_head *p_next"时,struct buffer_head 是不完全类型,但p_next指针却是完全类型,因为指针的位数是固定的(32位系统是32位,64位
    就是64位),当出现最后的“}" 时,struct buffer_head 则成了一个完全类型,因为它的长度也就固定了,应该明白了吧!

  2. 于 2012-06-08 15:24:16发表:

    这个问题我好像回答过一次。
    指向struct结构的指针。
    最典型的应用就是链表。

  3. mikei458 于 2012-06-08 15:12:50发表:

    好吧我承认我完全看不懂 刚刚学会装系统