EDUCBA

EDUCBA

MENUMENU
  • Free Tutorials
  • Free Courses
  • Certification Courses
  • 600+ Courses All in One Bundle
  • Login

Inline Function in C

Home » Software Development » Software Development Tutorials » C Programming Tutorial » Inline Function in C

Inline Function in C

Introduction to Inline Function in C

Inline functions in C programming plays an important role in small as well as complex code. It saves a huge amount of execution time as well as memory space. For defining an inline function we need to use the “ inline ” keyword. Every time you need a function in code all we have to do is define an inline function logically and then use it as many times you want in a code, as it will help in boosting the execution speed of the code. It is small to define and can be used again and again once defined.

Syntax for defining an inline function in C programming:

Start Your Free Software Development Course

Web development, programming languages, Software testing & others

inline  data_typefunction_name ( data_type argument1 , data_type argument2 )
{
return () ; // return as defined by the user.
}

In the above syntax, an inline keyword is mandatory so that the compiler will know while executing the code, after that function we need with data type and its name. Under function name, we can pass as many arguments we want depending on the requirement of the code. In the end, the return statement is also mandatory depending upon what output we want according to the function definition.

Examples of Inline Function in C

Given below are the examples mentioned:

Example #1

To demonstrate the working of Inline function in programming.

Code:

#include <stdio.h>
// defining inline function with inline keyword
static inline intfoo()
{
return 10 ; // returning the output value as per requirement
}
// Main user code
intmain()
{
intx ;
// Calling the inline function
x = foo() ; // making a reference to inline function.
printf( " The result of inline function is : %d\n " , x ) ;
return 0 ;
}

Output:

inline function in c 1

Explanation:

  • As you can see in the above code we have defined an inline function with name “ foo() ” of integer data type and it will return the value 10 as declared whenever we make a call to the given inline function.
  • Hence, in the main code an integer variable with name “ x ” so that we can make a call to the inline function through a reference. Although we can also call the inline function foo() without making any reference it is good to make a reference to avoid conflicts.

Example #2

To demonstrate Inline function for integers addition.

Code:

#include <stdio.h>
// defining inline function with inline keywordfor addition
static inline intaddition(int a, int b)
{
return a + b ; // returning the output value as per requirement
}
// Main user code
intmain()
{
inta, b, x ;
printf( " Please enter the value of integer a : " ) ;
scanf( "%d", &a ) ;
printf( " Please enter the value of integer b : " ) ;
scanf( "%d" , &b ) ;
// Calling the inline function by reference
x = addition( a , b ) ;
printf( " The result of addition of the given integers is : %d\n " , x ) ;
return 0 ;
}

Output:

integers addition

Explanation:

  • As you can see in the above code we have defined an inline function with name “addition(int a, int b)” of integer data type and it will return the value of integers a + b as we are passing two integer arguments into the function. Hence, in the main code an integer variable with name “ x ” so that we can make a call to the inline function through a reference.
  • Although we can also call the inline function addition( int a, int b ) without making any reference it is good to make a reference to avoid conflicts. After that, we are taking input values from the user for addition and then calling the inline function at the end.

Example #3

To demonstrate Inline function for integers subtraction.

Code:

#include <stdio.h>
// defining inline function with inline keyword
static inline intsubtraction(int a, int b)
{
return a - b ; // returning the output value as per requirement
}
// Main user code
intmain()
{
inta, b, x ;
printf( " Please enter the value of integer a : " ) ;
scanf( "%d", &a ) ;
printf( " Please enter the value of integer b : " ) ;
scanf( "%d" , &b ) ;
// Calling the inline function
x = subtraction( a , b ) ; // making a reference to inline function.
printf( " The result of subtraction of the given integers is : %d\n " , x ) ;
return 0 ;
}

Popular Course in this category
C Programming Training (3 Courses, 5 Project)3 Online Courses | 5 Hands-on Projects | 34+ Hours | Verifiable Certificate of Completion | Lifetime Access
4.5 (5,570 ratings)
Course Price

View Course

Related Courses
C++ Training (4 Courses, 5 Projects, 4 Quizzes)Java Training (40 Courses, 29 Projects, 4 Quizzes)

Output:

inline function in c 3

Explanation:

  • As you can see in the above code we have defined an inline function with name “subtraction(int a,int b)” of integer data type and it will return the value of integers a – b as we are passing two integer arguments into the function. Hence, in the main code an integer variable with name “ x ” so that we can make a call to the inline function through a reference.
  • Although we can also call the inline function subtraction( int a, int b ) without making any reference it is good to make a reference to avoid conflicts. After that, we are taking input values from the user for subtraction and then calling the inline function at the end.

Note that we can use any mathematical term such as multiplication, division etc. Everything will work properly if the definition is given with correct logic and explanation.

Conclusion

There is no risk even if the inline function is called several times as compared to macros that cause errors sometimes. An inline function is always easy to debug than a code with macro function. Code efficiency with inline depends on the structure and organisation of the code.

Recommended Articles

This is a guide to Inline Function in C. Here we discuss the introduction to inline function in C along with examples to implement inline function for better understanding. You may also have a look at the following articles to learn more –

  1. C Literals
  2. Memory Allocation in C
  3. Constants in C
  4. File Handling in C

C Programming Training (3 Courses, 5 Project)

3 Online Courses

5 Hands-on Projects

34+ Hours

Verifiable Certificate of Completion

Lifetime Access

Learn More

0 Shares
Share
Tweet
Share
Primary Sidebar
C Programming Tutorial
  • Function
    • Math Functions in C
    • Hashing Function in C
    • Recursive Function in C
    • Power Function in C
    • fputs in C
    • C puts() Function
    • fprintf() in C
    • fseek() in C
    • Stderr in C
    • ASCII Value in C
    • strcat() in C
    • Inline Function in C
    • sizeof() in C
    • Function Prototype in C
    • C ftell()
  • Basic
    • Introduction to C
    • What is C
    • Career in C Programming
    • Advantages of C
    • How to Install C
    • Best C Compilers
    • Data Types in C
    • Variables in C
    • C Keywords
    • C Command
    • Command Line Arguments in C
    • C Literals
    • Constants in C
    • Unsigned Int in C
    • String in C
  • Pointers
    • Pointers in C
    • Null pointer in C
    • Function Pointer in C
    • Double Pointer in C
    • Void Pointer in C
    • Const Pointer in C
    • Dangling Pointers in C
    • Pointer Arithmetic in C
  • Operators
    • C Operators
    • Arithmetic Operators in C
    • Relational Operators in C
    • Assignment Operators in C
    • Logical Operators in C
    • Conditional Operator in C
    • Modulus Operator in C
    • Ternary Operator in C
    • Address Operator in C
    • Unary Operator in C
    • Operators Precedence in C
    • Left Shift Operator in C
  • Control Statement
    • Control Statements in C
    • If Statement in C
    • If-else Statement in C
    • Else if Statement in C
    • Nested if Statement in C
    • #else in C
    • Structure Padding in C
    • Nested Structure in C
    • Continue Statement in C
    • Break Statement in C
    • Switch Statement in C
    • Goto Statement in C
  • Loops
    • Loops in C
    • For Loop in C
    • While Loop in C
    • Do While Loop in C
    • Nested Loop in C
    • Infinite Loop in C 
  • Array
    • Arrays in C Programming
    • 2-D Arrays in C
    • 3D Arrays in C
    • Multidimensional Array in C
    • Array Functions in C
    • Strings Array in C
  • Sorting
    • Sorting in C
    • Heap Sort in C
  • Advanced
    • Constructor in C
    • Encapsulation in C
    • C Storage Classes
    • Static Keyword in C
    • File Handling in C
    • Queue in C
    • Hexadecimal in C 
    • typedef in C
    • Memory Allocation in C
    • Linked List in C
    • Volatile in C
    • Tokens in C
    • Expression in C
    • Regular Expression in C
    • Error Handling in C
    • Types of Errors in C
    • Preprocessor in C
    • Preprocessor Directives in C
    • fscanf() in C
    • #Pragma in C
    • #ifndef in C
    • #undef in C
    • Macros in C
  • C programs
    • Patterns in C Programming
    • Star Patterns in C
    • Number Patterns in C
    • Swapping in C
    • Reverse Number in C
    • Palindrome in C Program
    • Factorial in C
    • Fibonacci Series in C
    • Square Root in C
    • Random Number Generator in C
    • Prime Numbers in C
    • Escape Sequence in C
    • Reverse String in C
    • Leap Year Program in C
    • Anagram Program in C
    • Strong Number in C
    • String Concatenation in C
    • C Programming Matrix Multiplication
    • Decimal to Octal in C
    • Expression Evaluation in C
    • Decimal to Hexadecimal in C
  • Interview question
    • C Programming Interview Questions

Related Courses

C Programming Training Course

C++ Training Course

Java Training Course

Footer
About Us
  • Blog
  • Who is EDUCBA?
  • Sign Up
  • Corporate Training
  • Certificate from Top Institutions
  • Contact Us
  • Verifiable Certificate
  • Reviews
  • Terms and Conditions
  • Privacy Policy
  •  
Apps
  • iPhone & iPad
  • Android
Resources
  • Free Courses
  • Java Tutorials
  • Python Tutorials
  • All Tutorials
Certification Courses
  • All Courses
  • Software Development Course - All in One Bundle
  • Become a Python Developer
  • Java Course
  • Become a Selenium Automation Tester
  • Become an IoT Developer
  • ASP.NET Course
  • VB.NET Course
  • PHP Course

© 2020 - EDUCBA. ALL RIGHTS RESERVED. THE CERTIFICATION NAMES ARE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.

EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you
Book Your One Instructor : One Learner Free Class

Let’s Get Started

This website or its third-party tools use cookies, which are necessary to its functioning and required to achieve the purposes illustrated in the cookie policy. By closing this banner, scrolling this page, clicking a link or continuing to browse otherwise, you agree to our Privacy Policy

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA Login

Forgot Password?

EDUCBA
Free Software Development Course

Web development, programming languages, Software testing & others

*Please provide your correct email id. Login details for this Free course will be emailed to you

Special Offer - C Programming Training (3 Courses, 5 Project) Learn More