gpt4 book ai didi

c++ - 为什么我可以在另一个函数中定义一个函数?

转载 作者:可可西里 更新时间:2023-11-01 14:56:55 24 4
gpt4 key购买 nike

看下面的代码,我在另一个函数中定义了一个函数,

void test1(void)
{
void test2(void)
{
printf("test2\n");
}
printf("test1\n");
}

int main(void)
{
test1();
return 0;
}

这个用法很奇怪,是c89/c99的用法还是只是gcc的扩展(我在ubuntu 12编译时用的是gcc 4.6.3)。我运行这段代码,它输出“test2”和“test1”。test2 只能在 test1 中调用。

请问这个用法的常见场景是什么或者这个用法有什么用?

最佳答案

是的,这是一个GCC extension .

它不是 C,它不可移植,因此除非您知道 GCC 会,否则不推荐

关于c++ - 为什么我可以在另一个函数中定义一个函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16582677/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com