看到這個代碼另一個函數定義中的函數定義:它有效嗎?
#include<stdio.h>
int main()
{
void test(void)
{
printf("test");
return;
}
printf("main");
return 0;
}
這種男女同校的正常工作和犯規給出任何警告和錯誤。我不明白爲什麼會發生這種情況? 這裏我寫了一個函數定義裏面的其他函數定義,所以它是有效的?
編輯:如果是的話那麼有沒有這個用法?
爲什麼gcc需要添加此功能作爲擴展..應該有任何用法,這不是嗎?!
看起來像一個重複:HTTP://stackoverflow.com/questions/666586/are-nested-functions-part-of-c-standard 你可能會有興趣看到:http://stackoverflow.com/questions/1348095/why-are-nested-functions-not-supported-by-the-c-standard&http://www.informit.com/articles/article。 ASPX?p = 1676713 –
@ another.anon.coward感謝那些鏈接... –