Ok so Im having trouble distinguishing why one set of code is different from the other if they both create a node
Here is the first code
1 2 3 4 5 6
struct Node* start = NULL;//initially no nodes so start is NULL aka Empty
start = newstruct Node; //we made a new node
start->info = 10;//we set info box to 10
start->next = NULL;
Compared to this code
1 2 3 4 5 6 7 8 9 10
nodeType *head = NULL; // 1
nodeType *current;
// 2: insert number 100 to as first node
current = new nodeType;
current->info = 100;
current->link = NULL;
head = current;
In your top example, start is declared as a pointer to Node. The asterisk symbol specifies the type as a pointer.
In your second example, both head and current are declared as pointers to nodeType. In each of those declarations, the asterisk symbol specifies the type as a pointer.