typedef struct Symbol { char* name; }Symbol; typedef union Token { Symbol* symt; double value; }Token; void Fn( Token t ) { t.symt->name = "hello world!";//利用了Token中的指针 } void main() { Token t; t.symt = malloc(sizeof(Symbol)); t.symt->name = "hello snnu!"; Fn(t); printf("%s/n",t.symt->name); }