1. Mastering Bitwise Operators in C: A Comprehensive Guide with Examples - Codzify 2. Ternary Operators in C Programming: A Beginners Guide (2023) 3. Switch Statements in C 2023: Complete Guide for Beginners 4. Learn Functions in C Programming - A Complete Tutorial for Beginners in 2023 5. Call by Value and Call by Reference in C Programming - A Complete Tutorial for Beginners in 2023 6. Storage Classes in C Programming: A Comprehensive Guide for 2023 7. Arrays in C Programming: A Comprehensive Guide for 2023 8. Basics of 2D Array in C Programming in 2023: Definition, Initialization, and Accessing Elements 9. Beginners Guide to Strings in C Programming with Codes and Examples 10. Strings Functions in C Language - strlen, strcpy,strcmp,strcat functions 11. A Comprehensive Guide to Structures in C Programming in 2023 12. Learn Unions in C Programming with Codes, Examples, and Explanations in 2023 13. Dynamic Memory Allocation in C: Understanding malloc, calloc, realloc, and free Functions 14. Introduction to C Programming 15. Hello world program in C 16. String functions in C - strncat, strcpy, strncpy, strchr, strrchr, strstr functions 17. Program for Fibonacci number in C - Codzify.com 18. What is palindrome number in C? 19. Write a C program to find a factorial of a given number 20. Write a C program to check whether a given number is prime or not 21. Write a C program to check whether a given number is an Armstrong number or not. 22. Write a C Program to transpose a matrix 23. C Programming Tutorial: Understanding Comments and Identifiers with Code Examples 24. Master String Handling Functions in C in 2023 - Codzify Topics

Storage Classes in C Programming: A Comprehensive Guide for 2023

Article by: Manish Methani

Last Updated: November 3, 2021 at 2:04pm IST
5 mins 6 sec read

In this tutorial, we'll cover the basics of storage classes in C programming, including their types, scope, and usage. We'll also provide some code examples to help you better understand how they work.

What are Storage Classes in C Programming?

Storage classes in C programming are used to define the scope, visibility, and lifetime of variables and functions. There are four types of storage classes in C programming: automatic, static, register, and extern.

Automatic Storage Class

The automatic storage class is the default storage class for variables declared inside a function. These variables are created when the function is called and destroyed when the function exits. They are not visible to other functions and cannot be accessed outside the function where they are declared.

Here's an example of how to declare a variable using the automatic storage class:

void myFunction() {
   int x; // automatic storage class
}

Static Storage Class

The static storage class is used to declare variables that retain their values even after the function exits. These variables are initialized only once, and their value is preserved between function calls. They have global scope within the file where they are declared and can be accessed from any function within that file.

Here's an example of how to declare a variable using the static storage class:

void myFunction() {
   static int x; // static storage class
}

Register Storage Class

The register storage class is used to declare variables that should be stored in a processor register instead of memory. These variables are usually used for frequently accessed data to improve program efficiency. However, it is up to the compiler to decide whether or not to store the variable in a register.

Here's an example of how to declare a variable using the register storage class:

void myFunction() {
   register int x; // register storage class
}

What is the Extern Storage Class in C Programming?

The extern storage class is used to declare variables and functions that are defined in other files or modules. When a variable or function is declared with the extern keyword, it tells the compiler that the definition of the variable or function will be provided later in another file or module.

In other words, the extern storage class is used to establish the global scope of a variable or function, allowing it to be used in multiple files or modules.

How Does the Extern Storage Class Work?

When you declare a variable or function with the extern keyword, you are telling the compiler that the definition of the variable or function is not in the current file or module. Instead, the definition is in another file or module, and the compiler needs to look for it at link time.

Here's an example of how to declare a variable using the extern storage class:

// File 1
extern int x; // declare variable x in another file or module

void myFunction() {
   // use variable x
}
// File 2
int x; // define variable x in this file or module

int main() {
   // initialize variable x
   x = 10;
   
   // call function that uses variable x
   myFunction();
}

In this example, we have two files: File 1 and File 2. File 1 declares the variable x using the extern keyword, indicating that its definition is in another file or module. File 2 defines the variable x and initializes it to a value of 10. When File 1's function myFunction is called, it uses the variable x without having to know its definition because it was declared with the extern keyword.

In this tutorial, we covered the basics of storage classes in C programming. We explained the different types of storage classes and how they are used to define the scope, visibility, and lifetime of variables and functions. We also provided some code examples to help you better understand how they work. By understanding the different storage classes, you can write more efficient and organized code.

Learn to Build 5 Apps Without Coding using FlutterFlow

  • Lifetime access to all the 5 FlutterFlow Courses
  • Complete FlutterFlow training
  • All future course updates
  • Access via Codzify mobile app
  • 24h 42m of Learning Content
  • 5 FlutterFlow at Codzify just ₹1500 ($17.44)
  • Access to Dating App Course, Grocery App Course, Courses App Course, FlutterFlow AI Agents Course, Doctor Appointment Booking Supabase Course.
  • Clone Ready-Made Courses App instantly in FlutterFlow.
  • 30-Day 100% Money-Back Guarantee.

Learn More
Codzify Logo

Terms and Conditions    Cookie Policy   Refund Policy   Adsense Disclaimer

Contact: [email protected]