c 语言 是否支持函数嵌套定义

查看:94
本文介绍了c 语言 是否支持函数嵌套定义的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

请问 c 语言中函数是否可以嵌套定义?

我自己试了以下代码

#include <stdio.h>

void f(int x)
{
    void p(int a)
    {
        printf("%d\n", a);
    }
    p(x);
}
int main()
{
    f(10);
    return 0;
}

是可以正常运行出结果的。
编译器 : gcc 4.5.2
编译指令 :gcc a.c

但老师上课说是错误的
我想知道是 函数嵌套是 undefined 的东西还是说在之后的c标准里面补充的内容?

解决方案

...楼上不要瞎说好么,这是GCC的一个扩展,C标准是不支持嵌套函数的
参见gcc-嵌套函数

这篇关于c 语言 是否支持函数嵌套定义的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆