GATE CS 2021 Set 2 — Question 45
Go beyond PYQs with Success TrackerAI-powered personalised practice and doubt support. Unlimited practice on eligible plans; AI usage limits apply.MCQ+2 / -0.67MediumSingly Linked ListsLinked ListsProgramming & Data StructuresDynamic Memory AllocationC ProgrammingPointers & Pointer Arithmetic
Programming & Data Structures → C Programming → Dynamic Memory Allocation
Last updated
Question
Consider the following ANSI C program:Which one of the statements below is correct about the program?
#include <stdio.h>
#include <stdlib.h>
struct Node{
int value;
struct Node *next;};
int main(){
struct Node *boxE, *head, *boxN; int index = 0;
boxE = head = (struct Node *) malloc(sizeof(struct Node));
head->value = index;
for (index = 1; index <= 3; index++){
boxN = (struct Node *) malloc(sizeof(struct Node));
boxE->next = boxN;
boxN->value = index;
boxE = boxN; }
for (index = 0; index <= 3; index++) {
printf("Value at index %d is %d\n", index, head->value);
head = head->next;
printf("Value at index %d is %d\n", index+1, head->value); } }
Correct answer
(D) It dereferences an uninitialized pointer that may result in a run-time error.
Solution
1.The first loop creates a linked list with 4 nodes (values 0, 1, 2, 3).
2.
boxE points to the last node (value 3). Note that boxE->next is never initialized to NULL after the loop finishes.3.The second loop iterates for
index = 0, 1, 2, 3.4.In the final iteration (
index = 3):printf("Value at index 3 is %d\n", 3, head->value);executes correctly (head is at node 3).head = head->next;setsheadto the uninitializednextpointer of the last node.printf("Value at index 4 is %d\n", 4, head->value);attempts to dereference this uninitialized pointer, which leads to undefined behavior and typically a run-time error (segmentation fault).
Continue learning with Success Tracker
A step still unclear? Work through it with support
Use Success Tracker to ask about the reasoning, then try another GATE CS question to check your understanding.
AI-powered practice· Unlimited practice on eligible plans
- PYQs with solutions
- Attempt available previous-year questions, then compare your reasoning with the worked solution. Coverage varies by stream.
- Practice that adapts
- Choose a topic, work on weaker areas and bookmark questions to revisit. Your attempts feed your progress tracking.
- AI doubt support
- Ask follow-up questions about a step or concept while practising, instead of stopping at the final answer.
Unlimited practice is available on eligible plans. Free practice and AI usage have limits; check the current plan allowances before choosing.
This page stays readable without an account. AI responses can be wrong; check them against the solution and source material.
More questions on C Programming
2026 Set 2 Q12The set T represents various traversals over binary tree. The set S represents the order of…2026 Set 2 Q19Consider the following three ANSI-C programs, P1, P2, and P3. P1 [code] P2 [code] **P3**…2026 Set 1 Q23Let be an odd number greater than 100. Consider a binary minheap with elements stored in an…2026 Set 1 Q24Consider a hash table that is initially empty. The hash table is maintained…2026 Set 1 Q27Consider the following C statements: Which of the following options is/are correct? [figure]