指向结构中自己的类型的指针?

#0

Yes, with this syntaxis

struct list {
    int   value;
    struct list  *next;
};

or

typedef struct list
{
      int value;
      struct list *next; 
} list;

#1

Yes, but the typedef doesn't happen until later in the statement so you need to give the struct itself a name. E.g.

struct listLink {
    struct listLink *next;
    struct listLink *prev;

    void *data;
};

And you can wrap that in a typedef if you don't want to have to declare each instance as struct listLink <whatever>.

#2

This possible with th osgrx given syntax. Plus, this is called a linked list: http://www.ehow.com/how_2056292_create-linked-list-c.html

Choose a name, then use typedef to define it. Every linked list will need a structure, even if it only has one variable:

typedef struct product_data PRODUCT_DATA;

Define the structure. The last element should be a pointer to the type you just defined, and named "next":

struct product_data {
 int product_code;
 int product_size;
 PRODUCT_DATA *next;
};

#3

I prefer this version:

typedef struct listLink listLink ;

struct listLink{
    listLink *next;
    listLink *prev;

    void *data;
} ;

It clearly separates the struct from and members and variables.

Using the same name for both struct and typedef, struct listLink, listLink , is not an issue since they have separate namespaces.

推荐文章

如何在android上调用图像触摸事件?

如何在android上调用图像触摸事件?

推荐文章

DrRacket-中级学员,带Lambda-列表排序

DrRacket-中级学员,带Lambda-列表排序

推荐文章

如何使用其标头确定PE映像文件的确切大小?

如何使用其标头确定PE映像文件的确切大小?

推荐文章

链接列表和树

链接列表和树

推荐文章

如何在不使用jQuery的情况下获得jQuery风格的导航栏

如何在不使用jQuery的情况下获得jQuery风格的导航栏

推荐文章

SED流编辑器是否有.NET端口

SED流编辑器是否有.NET端口

推荐文章

Android onCreate SQLiteHelper

Android onCreate SQLiteHelper

推荐文章

用父类泛化对象与实现公共接口的泛化类

用父类泛化对象与实现公共接口的泛化类

推荐文章

将组合框绑定到组合框

将组合框绑定到组合框

推荐文章

将rails更新到3.1.1时,我得到了未初始化的常量乘积::rails_ROOT

将rails更新到3.1.1时,我得到了未初始化的常量乘积::rails_ROOT

推荐文章

JList项目中的自动换行

JList项目中的自动换行

推荐文章

JBossAS 6.X或7上的JPA

JBossAS 6.X或7上的JPA

推荐文章

如何在弹出窗口中显示消息

如何在弹出窗口中显示消息

推荐文章

curl显示安装在phpinfo中,但仍然得到未定义的函数:curl_init

curl显示安装在phpinfo中,但仍然得到未定义的函数:curl_init

推荐文章

在AVR atmega169中配置PINB.4和PINB.5作为输入引脚并启用上拉?

在AVR atmega169中配置PINB.4和PINB.5作为输入引脚并启用上拉?

推荐文章

如何在drupal7的模板中呈现Youtube缩略图

如何在drupal7的模板中呈现Youtube缩略图