struct node { int data, 1 2 }; int main() { 3 4 } Which of the options below correctly shows where the next and head pointers should be declared? NOTE: the node struct is supposed to be implemented as a singly linked list. 3.. node* head; _ (in main) 4.. node* next: (in main) 1.. node* head:_(in struct node) 3.. node* next_ (in main) 1.. node* next:_ (in struct node) 2.. node*head:_(in struct node) 1.. node* next:_(in struct node) 3.. node* head: (in main)