假设struct_name
是我定义的结构的名称,并且数组是结构中定义为char array[o]
的成员
以下行产生了什么? (*struct_name).array
地址位置?
答案 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;
然后你不知道自己想要什么。