c语言inline关键字的用法是甚么
C语言中的inline
关键字用于提示编译器将函数内联展开,以提高程序的履行效力。
具体用法以下:
在函数声明或定义前加上inline
关键字,提示编译器将该函数内联展开。
inline int add(int a, int b) {
return a + b;
}
函数定义一定要放在函数调用之前。由于函数的定义需要在调用时进行内联展开,而函数的定义一定要是可见的。
inline int add(int a, int b);
int main() {
int result = add(3, 4);
return 0;
}
inline int add(int a, int b) {
return a + b;
}
inline
关键字其实不能保证函数一定会被内联展开,具体是否是展开取决于编译器的判断。如果编译器认为内联展开会致使代码膨胀、履行效力降落或其他缘由,它可能会疏忽inline
关键字。
inline int add(int a, int b) {
return a + b;
}
在C99标准中,inline
关键字也能够与函数指针结合使用,表示通过函数指针调用函数时是否是进行内联展开。
inline int add(int a, int b) {
return a + b;
}
int main() {
int (*func_ptr)(int, int) = add;
int result = func_ptr(3, 4);
return 0;
}
需要注意的是,inline
关键字只是对编译器提供了一种建议,实际的内联展开与编译器的实现相关。对较复杂的函数、递归函数、含过量循环或条件判断的函数等,编译器可能不会将其内联展开。
TOP