内联函数 C/C++

文章探讨了C语言中的内联函数,其目的是为了提高程序执行效率,通过避免函数调用的开销。内联函数将代码插入到调用点,以减少时间消耗,但可能增加代码体积。文件file1.c、file2.c和file3.c展示了不同情况下内联函数的定义和使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码:

file1.c

#include<stdio.h>

void spam(double v);
void masp(double w);


inline static  double square(double);
double square(double x) 
{ 
	printf("%s %s %d\n", __FILE__, __func__, __LINE__);
	return x * x; 
}
int main()
{
	double q = square(1.3);
	printf("q = %f\n", q);
	spam(3);
	masp(5);
	return 0;
}

inline static  double square(double x)
{
	printf("%s %s %d\n", __FILE__, __func__, __LINE__);
	return x * x;
}

 file2:

#include<stdio.h>

double square(double x) 
{ 	
	printf("%s %s %d\n", __FILE__, __func__, __LINE__);
	return (int) (x*x); 

}
void spam(double v)
{
	double kv = square(v); 
	printf("kv = %f\n", kv);
}

file3:

#include<stdio.h>

inline double square(double x) 
{ 
	printf("%s %s %d\n", __FILE__, __func__, __LINE__);
	return (int) (x * x + 0.5); 
} 
void masp(double w)
{
	double kw = square(w);
	printf("kv = %f\n", kw);
}

参考:

        你对C ++中的内联函数真的很了解吗 - 知乎内联函数是C ++的重要功能之一。那么,让我们首先了解为什么使用内联函数以及内联函数的目的是什么? 当程序执行函数调用指令时,CPU将存储该函数调用之后的指令的内存地址,将函数的参数复制到堆栈上,最后将控制…https://zhuanlan.zhihu.com/p/320014357

        C语言 内联函数_c语言内联函数_a只如初见的博客-优快云博客【注:本文只讨论C语言中的内联函数,暂不谈论C++,因为C++中这块知识相对要更复杂。】什么是内联函数在C语言中,如果一些函数被频繁调用,不断地有函数入栈,即函数栈,会造成栈空间或栈内存的大量消耗。为了解决这个问题,特别的引入了inline修饰符,表示为内联函数。内联函数是代码被插入到调用者代码处的函数。内联函数通过避免被调用的开销来提高执行效率。采用内联函数实质是以空间换时间的做法举例:void myprintf(int a){printf(“%d”,a);}int main()https://blog.youkuaiyun.com/weixin_44788542/article/details/118979689

(122条消息) C语言 内联函数_c语言内联函数_吾爱技术圈的博客-优快云博客https://blog.youkuaiyun.com/weixin_44788542/article/details/118979689

 (122条消息) 关于C之内联函数_eatline_itzyjr的博客-优快云博客

 (122条消息) C++ 内联函数详解(搞清内联的本质及用法)_c++内联函数_赵大宝字的博客-优快云博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值