Cover Image for C #else
50 views

C #else

The #else directive is used in combination with conditional compilation directives like #ifdef, #ifndef, and #if to specify code that should be executed when a certain condition is not met. It is typically used to provide an alternative code path when the condition specified in the previous #ifdef, #ifndef, or #if directive is false.

Here’s the basic syntax of the #else directive:

C
#ifdef macro_name
   // Code to execute if macro_name is defined
#else
   // Code to execute if macro_name is not defined
#endif
  • macro_name is the name of the macro being tested.

Here’s an example that demonstrates the usage of #else:

C
#include <stdio.h>

#define DEBUG // Define DEBUG macro

int main() {
#ifdef DEBUG
    printf("Debug mode is enabled.\n");
#else
    printf("Debug mode is disabled.\n");
#endif

#ifndef RELEASE
    printf("This code will be executed because RELEASE is not defined.\n");
#else
    printf("This code will not be executed because RELEASE is defined.\n");
#endif

    return 0;
}

In this example:

  1. The DEBUG macro is defined at the beginning of the program using #define.
  2. Inside the program, conditional compilation (#ifdef and #ifndef) is used to check whether DEBUG and RELEASE macros are defined.
  3. If DEBUG is defined, the program prints “Debug mode is enabled.” Otherwise, it prints “Debug mode is disabled.”
  4. If RELEASE is not defined, the program prints “This code will be executed because RELEASE is not defined.” Otherwise, it would print “This code will not be executed because RELEASE is defined.”

The #else directive provides a way to specify an alternative code path based on whether a certain macro is defined or not. This allows you to create flexible and configurable code that can be adapted for different build configurations or purposes.

YOU MAY ALSO LIKE...

The Tech Thunder

The Tech Thunder

The Tech Thunder


COMMENTS