Let's say we have this code under the pe-processor directives, as if we were going to create a linked list:

Code:
struct node
{
  int value;
  struct node *next;
};

struct node *first = NULL; 
struct node *current = NULL; 
struct node *previous = NULL;
The assignment here doesn't appear to be necessary, as I've tested pointers to struct without the NULL assignment, and when you make the linked list...the next pointer is NULL by default. This appears to be true for both gcc and clang.

However, in the interest of preventing un-defined behavior...does assigning NULL like that to those 3 pointers mean the next pointer inside of them is also NULL?