Menu
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS DSA TYPESCRIPT ANGULAR ANGULARJS GIT POSTGRESQL MONGODB ASP AI R GO KOTLIN SASS VUE GEN AI SCIPY CYBERSECURITY DATA SCIENCE INTRO TO PROGRAMMING BASH RUST

C Tutorial

C HOME C Intro C Get Started C Syntax C Output C Comments C Variables C Data Types C Constants C Operators C Booleans C If...Else C Switch C While Loop C For Loop C Break/Continue C Arrays C Strings C User Input C Memory Address C Pointers

C Functions

C Functions C Function Parameters C Scope C Function Declaration C Math Functions C Inline Functions C Recursion C Function Pointers

C Files

C Create Files C Write To Files C Read Files

C Structures

C Structures C Nested Structures C Structs & Pointers C Unions C typedef

C Enums

C Enums

C Memory

C Memory Management

C Errors

C Errors C Debugging C NULL C Error Handling C Input Validation

C More

C Date C Random Numbers C Macros C Organize Code C Storage Classes C Bitwise Operators C Fixed-width Integers

C Projects

C Projects

C Reference

C Reference C Keywords C <stdio.h> C <stdlib.h> C <string.h> C <math.h> C <ctype.h> C <time.h>

C Examples

C Examples C Real-Life Examples C Exercises C Quiz C Compiler C Syllabus C Study Plan C Certificate

C Inline Function


Inline Function

You might sometimes see the inline 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.

An inline function is a small function that asks the compiler to insert its code directly 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

int square(int x) {
  return x * x;
}

Inline Function

inline int square(int x) {
  return x * x;
}

Both functions work the same way. The only difference is that the inline version suggests to the compiler to copy the function's code directly where it is used.


Inline Function Example

Here is a simple example that uses an inline function:

Example

#include <stdio.h>

inline int add(int a, int b) {
  return a + b;
}

int main() {
  printf("%d", add(5, 3));
  return 0;
}

Try it Yourself »

Here, the compiler might replace add(5, 3) with the code 5 + 3 directly - saving the time it would take to call a separate function.


When Not to Use Inline

Inline functions are best for small, 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 as code 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

Summary

  • Inline functions are defined with the inline keyword.
  • They can make small, often-used functions faster.
  • The compiler decides whether to inline a function or not.
  • Mostly used for short, simple functions.


×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
sales@w3schools.com

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
help@w3schools.com

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2025 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.