In the assignment example, explicit listing does not make sense. However, it seems that you are really wondering about a macro #define NIL ((List *) NULL)whose usability is beyond the scope of the destination.
, , - , . NULL 0 0L ((void *) 0) - , , - . , .
, ( undefined)
void foo();
int main() {
foo(NULL);
}
void foo(List *p) {
}
foo(NIL);
.