NULL is flagged as an error
The first use of NULL in every file is underscored with red squiggles to indicate an error. This seems to be a bug in VSC's reading of C header files.
Workarround: add the following to the top of every .c file
#define NULL (void *) 0
This will satisfy VSC and not cause compilation problems.