1. 程式人生 > >【C語言】結構體包含指向自己的指標

【C語言】結構體包含指向自己的指標

結構體可以包含指向自己的指標嗎?結構標籤(struct tag)與型別定義(typedef) - myswirl - MY BLOG

執行環境:VC6.0
例子程式:tets.c
*************************************************************************************************
#include <stdio.h>

struct x1 //x1為結構標籤
{
    int a;
    int b;
};
typedef struct 
{
    int c;
    int d;
}tx;    //tx為型別定義

typedef struct node
{
    char item;
    struct node *next;    //結構體中定義指向自己的指標

}NODEPTR;

/*
typedef struct node
{
    char *item;
    NODEPTR next;    //不可以,不能在typedef型別之前使用它
}*NODEPTR;
*/
void main(void)
{
    struct x1 s1;    //不能用結構標籤自動生成型別定義名: x1 s1
    tx s2;
    NODEPTR node1;
    NODEPTR node2;
    node1.next = &node2;

    s1.a = 1;
    s1.b = 2;
    s2.c = 3;
    s2.d = 4;
    node1.item = 'x';
    node2.item = 'y';
    printf("s1.a:%d, s1.b:%d \n",s1.a,s1.b);
    printf("s2.c:%d, s2.d:%d \n",s2.c,s2.d);
    printf("%c, %c \n",node1.item, node2.item);

}