我不知道這是否對你有幫助,這是我的第一篇文章...所以放輕鬆點。
我只是碰到了這個問題,我所做的是我補充說,操縱結構到包含該匿名結構的文件的功能。這樣我可以從我的項目中的任何文件調用該函數,並且它爲我處理struct中的值。
下面是一個例子:
header.c有這個匿名結構:
struct
{
char line1[80];
char line2[80];
char line3[80];
} header;
我想操縱「interface.c」的值,因爲我正在在另一個命令行界面文件。我的第一直覺是使用一個外部的,但它似乎像添加以下功能header.c一樣好或更好(有些人反對使用實習醫生時可以避免的)。
void changeHeaders(char *one, char *two, char *three);
void changeHeaders(char *one, char *two, char *three)
{
strcpy(header.line1, one);
printf("\nHeader 1: %s", header.line1);
strcpy(header.line2, two);
printf("\nHeader 2: %s", header.line2);
strcpy(header.line3, three);
printf("\nHeader 3: %s", header.line3);
}
現在,只要我包含該函數的原型,我就可以通過使用該函數來處理來自任何文件的那些結構變量。希望能幫助別人。
如果只使用一次,然後你爲什麼把它在.h文件? – 2012-07-05 17:23:52
我在我的項目中使用它,它是全球性的。 – HemoGoblin 2012-07-05 17:25:34
@HansPassant:他只有一個_instance_類。 – 2012-07-05 17:35:14