处理C中的结构

时间:2009-10-31 22:00:49

标签: c data-structures struct

假设struct_name是我定义的结构的名称,并且数组是结构中定义为char array[o]的成员

以下行产生了什么? (*struct_name).array 地址位置?

2 个答案:

答案 0 :(得分:1)

是(假设struct_name是指向结构的指针,否则解除引用就没有意义了)

顺便问一下,为什么不做struct_name->数组?

答案 1 :(得分:1)

如果您已将struct_name定义为结构的实例,请执行以下操作:

struct your_struct struct_name;

您想要struct_name.array,是的,为array成员生成一个地址。如果您已将struct_name定义为结构的实例,请执行以下操作:

struct your_struct *struct_name;
struct_name = malloc(sizeof(struct your_struct));

您想要struct_name->array,它还会返回array的地址。

如果您已将struct_name定义为结构本身的名称,请执行以下操作:

typedef struct _struct_name {
    char array[5];
} struct_name;

然后你不知道自己想要什么。