@ 内联函数
内联函数:是函数。通过“内存膨胀”的方式,以空间换取时间,目的就是提高程序运行的速度。
这些空间就是程序或者计算机的内存;
__内存膨胀:__指的是代码区的代码变多,从而就占用了更多的空间。使用内联函数之后,这个函数就不会再到栈区临时开辟内存,少了一个入栈出栈的时间。而是把这个函数直接放在代码区。总而言之,用代码区的空间换取了入栈出栈的时间。
void func(int num)
{
printf("void func(int num); num = %d\n", num);
}
int main()
{
func(4);
return 0;
}
- 调用函数的时候,就会从主调函数到被调函数,将实参的值传给形参。
- 形参会给分配内存,这个地方要消耗时间。
- 实参的值传给形参后,执行函数体;执行完函数体后定义的变量就都被回收,这个地方需要消耗时间。
内联函数
inline 返回值类型 函数名(参数表)
{
函数体;
}
inline void func(int num) // 不在给形参分配内存空间
{
printf("void func(int num); num = %d\n", num);
}
int main()
{
func(4);
return 0;
}
特点:
1.普通函数,和其他函数一样,直接调用就行。
2.函数体不能太长,函数体的代码不能太多;函数体有循环就不建议去使用内联函数。
3.简单的赋值或者返回的语句,并且使用频率特别高,建议写成内联函数。