csyntaxuse-case

Use of null statement in C


What are typical uses of null statement

;

in C ?

I know that it is basically used to skip expression where it is expected by the compiler, but here I'm interested only in real-world examples of such use cases.


Solution

  • It's typically the side-effect of a code block that was stripped by the preprocessor, like

    #if DEBUG
        #define ASSERT(_x) Assert(_x)
    #else
        #define ASSERT(_x)
    #endif
    
    
    ASSERT(test);    // Results in null statement in non-debug builds
    

    That, or in loops where your condition already contains whatever needs to be done in each iteration.