Related Articles

Related Articles

C | Pointer Basics | Question 2
  • Difficulty Level : Basic
  • Last Updated : 04 Feb, 2013

Output of following program?

filter_none

edit
close

play_arrow

link
brightness_4
code

# include <stdio.h>
void fun(int *ptr)
{
    *ptr = 30;
}
  
int main()
{
  int y = 20;
  fun(&y);
  printf("%d", y);
  
  return 0;
}

chevron_right


(A) 20
(B) 30
(C) Compiler Error
(D) Runtime Error


Answer: (B)

Explanation: The function fun() expects a pointer ptr to an integer (or an address of an integer). It modifies the value at the address ptr. The dereference operator * is used to access the value at an address. In the statement ‘*ptr = 30’, value at address ptr is changed to 30. The address operator & is used to get the address of a variable of any data type. In the function call statement ‘fun(&y)’, address of y is passed so that y can be modified using its address.

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up
Recommended Articles
Page :