Search code examples
cnul

NUL undeclared- first use in this function


From the web I understand that C contains NUL keyword.

But while compiling I get an error

NUL undeclared first use in this function'

My code fragment:

for (;;) {
        char ch = (*pzDest = *pzSrc);
        if (ch == NUL)
            break;
        if (ch == ':') {
            *pzDest = NUL;
            break;
        }
        pzDest++;
        pzSrc++;
    }

Any idea why I get this error?


Solution

  • There's NULL and then there's NUL.

    NULL is defined in stddef.h, is used very widely, and is a reference to a null pointer.

    NUL is different - it is the first character in the standard ASCII character set, and more importantly, it is not a standard macro. You may have to define it yourself.

    To define NUL, do:

    #define NUL '\0'