我有以下代码:如何访问union内部结构?
/* sample.c */
#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
#include"hermes.h"
#include<string.h>
int main(){
struct hermes *h ;
h = (struct hermes *) malloc (sizeof (struct hermes *));
strcpy (h->api->search_response->result_code , "123");
printf("VALue : %s\n" , h->api->search_response->result_code);
return 0;
}
/* hermes.h */
struct hermes {
union {
/* search response */
struct {
int error_code;
char *result_code;
char *user_track_id;
struct bus_details bd;
}*search_response;
}*api;
};
我得到一个分段错误,当我尝试访问的元素。谁能告诉我什么是访问这些元素的正确方法?
你有一个struct工会的内部结构的内部。也许这是我在C方面的经验不足,但我不知道这个结构可能有什么用处。这里有什么意义? – 2012-01-27 06:52:12