CInline Function
Inline Function
You might sometimes see theinline keyword used in other people's functions. It's not something you need to use often as a beginner, but it's good to know what it means.
Aninline function is a small function that asks the compiler to insert its codedirectly where it is called, instead of jumping to it.
This can make short, frequently used functions a little faster, because it removes the small delay of a normal function call.
Let's compare a regular function with an inline function:
Regular Function
return x * x;
}
Inline Function
return x * x;
}
Both functions work the same way. The only difference is that theinline versionsuggests to the compiler to copy the function's code directly where it is used.
Inline Function Example
Here is a simple example that uses aninline function:
Example
inline int add(int a, int b) {
return a + b;
}
int main() {
printf("%d", add(5, 3));
return 0;
}
Here, the compiler might replaceadd(5, 3) with the code5 + 3 directly - saving the time it would take to call a separate function.
When Not to Use Inline
Inline functions are best forsmall, simple functions. Avoid using them for:
- Large functions (they make your program bigger)
- Recursive functions
- Functions that are rarely called
Too many inline functions can make your program slower and larger, a problem known ascode bloat.
Inline vs Regular Function
| Regular Function | Inline Function |
|---|---|
| Code jumps to the function each time it's called | Code is inserted directly where it's called |
| Slightly slower (small delay) | Slightly faster |
| Good for large functions | Good for small functions |
In this tutorial, we will continue to use regular functions.
Summary
- Inline functions are defined with the
inlinekeyword. - They can make small, often-used functions faster.
- The compiler decides whether to inline a function or not.
- Mostly used for short, simple functions.

