我有以下代碼:如何訪問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