C语言有内联函数吗?
inlinevoidqingchu(){while(getchar()!='\n')continue;}//这个是内敛函数吗?在C语言中为什么不能调用。编译器是VS201...
inline void qingchu ()
{
while (getchar () != '\n')
continue;
}//这个是内敛函数吗?在C语言中为什么不能调用。编译器是VS2012 展开
{
while (getchar () != '\n')
continue;
}//这个是内敛函数吗?在C语言中为什么不能调用。编译器是VS2012 展开
8个回答
展开全部
这个是内联函数。
C语言本身是不支持内联函数的,在最新的C标准C99中C语言支持了内联函数。
C++支持内联函数。
从编译器的角度:
有些C语言编译器,例如GNU C提供了内联函数的支持。
所有C++编译器都支持内联函数。
如果你的C语言编译器不支持内联函数,看看它有多古老,太古老不行(例如 Turbo C 2.0)。如果是C/C++合体编译器,那就切换到编译C++模式(例如VisualC++)。
C语言本身是不支持内联函数的,在最新的C标准C99中C语言支持了内联函数。
C++支持内联函数。
从编译器的角度:
有些C语言编译器,例如GNU C提供了内联函数的支持。
所有C++编译器都支持内联函数。
如果你的C语言编译器不支持内联函数,看看它有多古老,太古老不行(例如 Turbo C 2.0)。如果是C/C++合体编译器,那就切换到编译C++模式(例如VisualC++)。
参考资料: http://zhidao.baidu.com/question/148468727.html
展开全部
内联函数是指用inline关键字修饰的函数。
inline为C++的关键字,后来被扩展到C语言。所以早期的C语言ANSI C是不支持这个关键字的,如果使用inline关键字会编译出错。不过后续的C99规范扩展了这一关键字,于是在支持C99规范的编译器中,是可以使用inline的。
是否支持,在代码中写一个内联函数定义,编译不报错即是支持的。
如果代码有可移植的需求,还是不要使用内联函数为好,这种情况下可以使用宏定义来代替内联。
inline为C++的关键字,后来被扩展到C语言。所以早期的C语言ANSI C是不支持这个关键字的,如果使用inline关键字会编译出错。不过后续的C99规范扩展了这一关键字,于是在支持C99规范的编译器中,是可以使用inline的。
是否支持,在代码中写一个内联函数定义,编译不报错即是支持的。
如果代码有可移植的需求,还是不要使用内联函数为好,这种情况下可以使用宏定义来代替内联。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有的。
不过c语言的内联函数是在最新的c99标准里才加入的,在以前的c89标准里是没有的。我们现在使用的编译器很多都还是基于c89标准的,对于c99标准的支持度各个编译器都不同,所以能不能在c语言里使用内联函数要看具体编译器支不支持了。
不过c语言的内联函数是在最新的c99标准里才加入的,在以前的c89标准里是没有的。我们现在使用的编译器很多都还是基于c89标准的,对于c99标准的支持度各个编译器都不同,所以能不能在c语言里使用内联函数要看具体编译器支不支持了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C语言肯定有,申明为内敛函数,函数体内不能有循环语句
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
其实看你用得编译器了,如果你用的vc++6.0的话,
不管是.c文件还是.cpp文件都可以用inline
定义内联函数。但是语法来说,c语言是没有内联这个概念的,c++才有
不管是.c文件还是.cpp文件都可以用inline
定义内联函数。但是语法来说,c语言是没有内联这个概念的,c++才有
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询