Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

C | Arrays | Question 6

  • Difficulty Level : Basic
  • Last Updated : 28 Jun, 2021

Assume the following C variable declaration

Take a step-up from those "Hello World" programs. Learn to implement data structures like Heap, Stacks, Linked List and many more! Check out our Data Structures in C course to start learning today.




int *A [10], B[10][10];  

Of the following expressions
I A[2]
II A[2][3]
III B[1]
IV B[2][3]
which will not give compile-time errors if used as left hand sides of assignment statements in a C program (GATE CS 2003)?

(A) I, II, and IV only
(B) II, III, and IV only

(C) II and IV only
(D) IV only


Answer: (A)

Explanation: See following for explanation.

int main() 
{ 
  int *A[10], B[10][10]; 
  int C[] = {12, 11, 13, 14}; 
  
  /* No problem with below statement as A[2] is a pointer 
     and we are assigning a value to pointer */
  A[2] = C;  
  
  /* No problem with below statement also as array style indexing 
      can be done with pointers*/
  A[2][3] = 15; 
  
  /* Simple assignment to an element of a 2D array*/
  B[2][3]  = 15; 
  
  printf("%d %d", A[2][0], A[2][3]); 
  return 0;
}


Quiz of this Question

My Personal Notes arrow_drop_up
Recommended Articles
Page :