Call by Value, Call by Reference and Call by Address in C++ Notes | Basic Computer Engineering | RGPV BTech First Year

Call by Value, Call by Reference and Call by Address in C++ Notes | Basic Computer Engineering | RGPV BTech First Year


Call by Value, Call by Reference and Call by Address in C++

C++ рдореЗрдВ рдХрд┐рд╕реА рднреА Function рдХреЛ Data рднреЗрдЬрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ Parameter Passing рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред Function рдХреЛ Arguments Pass рдХрд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВ Call by Value, Call by Reference рддрдерд╛ Call by Addressред рдкреНрд░рддреНрдпреЗрдХ Method рдХрд╛ рдЕрдкрдирд╛ рдЕрд▓рдЧ Working Mechanism, Memory Usage рддрдерд╛ Practical Application рд╣реЛрддрд╛ рд╣реИред

рдпрджрд┐ Programmer рдпрд╣ рд╕рдордЭ рд▓реЗ рдХрд┐ Data Function рддрдХ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдкрд╣реБрдБрдЪрддрд╛ рд╣реИ рддрдерд╛ Function рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЧрдП рдкрд░рд┐рд╡рд░реНрддрди Original Variables рдкрд░ рдкреНрд░рднрд╛рд╡ рдбрд╛рд▓рддреЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВ, рддреЛ рд╡рд╣ рдмреЗрд╣рддрд░ рдПрд╡рдВ Efficient Programs рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред RGPV B.Tech рдХреА рдкрд░реАрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рдпрд╣ Topic Theory рддрдерд╛ Practical рджреЛрдиреЛрдВ рджреГрд╖реНрдЯрд┐ рд╕реЗ рдЕрддреНрдпрдВрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред

Actual Arguments

тЖУ

Parameter Passing Method

тЖУ

Function Execution

Introduction to Parameter Passing

рдЬрдм рдХрд┐рд╕реА Function рдХреЛ Call рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддрдм рдЙрд╕рдХреЗ рд╕рд╛рде рдЖрд╡рд╢реНрдпрдХ Data рднреА рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред Function рдХреЛ рднреЗрдЬреЗ рдЧрдП Values рдХреЛ Arguments рддрдерд╛ Function Definition рдореЗрдВ рдкреНрд░рд╛рдкреНрдд Variables рдХреЛ Parameters рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред

C++ рдореЗрдВ Parameter Passing рдХреЗ рд╡рд┐рднрд┐рдиреНрди Methods рдЙрдкрд▓рдмреНрдз рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдЪрдпрди Program рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ Original Data рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рдЦрдирд╛ рд╣реЛ рддреЛ Call by Value рдЙрдкрдпреБрдХреНрдд рд╣реИ, рдЬрдмрдХрд┐ Original Data рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдирд╛ рд╣реЛ рддреЛ Call by Reference рдпрд╛ Call by Address рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред


Definition of Call by Value

Call by Value рд╡рд╣ Method рд╣реИ рдЬрд┐рд╕рдореЗрдВ Function рдХреЛ Original Variable рдХреА Value рдХреА Copy рднреЗрдЬреА рдЬрд╛рддреА рд╣реИред Function рдХреЗ рдЕрдВрджрд░ рдХрд┐рдП рдЧрдП рдкрд░рд┐рд╡рд░реНрддрди рдХреЗрд╡рд▓ рдЙрд╕ Copy рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ Original Variable рдХреА Value рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд░рд╣рддреА рд╣реИред


Definition of Call by Reference

Call by Reference рд╡рд╣ Method рд╣реИ рдЬрд┐рд╕рдореЗрдВ Function рдХреЛ Original Variable рдХрд╛ Reference рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП Function рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЧрдП рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрди рд╕реАрдзреЗ Original Variable рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВред рдЗрд╕рдореЗрдВ & (Reference Operator) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред


Definition of Call by Address

Call by Address рд╡рд╣ Method рд╣реИ рдЬрд┐рд╕рдореЗрдВ Function рдХреЛ Original Variable рдХрд╛ Memory Address рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред Function Pointer рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрд╕реА Memory Location рдкрд░ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХрд┐рдП рдЧрдП рдкрд░рд┐рд╡рд░реНрддрди рд╕реАрдзреЗ Original Variable рдкрд░ рдкреНрд░рднрд╛рд╡ рдбрд╛рд▓рддреЗ рд╣реИрдВред


Need of Parameter Passing Methods

  • Function рдХреЛ рдЖрд╡рд╢реНрдпрдХ Data рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдПред
  • Original Data рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдПред
  • Original Variables рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
  • Memory рдХрд╛ Efficient рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
  • Large Data Structures рдХреЛ Efficient рддрд░реАрдХреЗ рд╕реЗ Pass рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
  • Reusable рддрдерд╛ Modular Programs рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
  • Code Duplication рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
  • Object Oriented Programming рдореЗрдВ Efficient Function Calls рдХреЗ рд▓рд┐рдПред

Features of Call by Value

  • Original Variable рдХреА Copy Function рдХреЛ рднреЗрдЬреА рдЬрд╛рддреА рд╣реИред
  • Original Data рд╕реБрд░рдХреНрд╖рд┐рдд рд░рд╣рддрд╛ рд╣реИред
  • Function рдХреЗ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗрд╡рд▓ Local Copy рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВред
  • Implementation рд╕рд░рд▓ рд╣реЛрддрд╛ рд╣реИред
  • рдЫреЛрдЯреЗ Data Types рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИред
  • Debugging рдЖрд╕рд╛рди рд╣реЛрддреА рд╣реИред
  • Data Security рдмреЗрд╣рддрд░ рд░рд╣рддреА рд╣реИред
  • Original Variables рдореЗрдВ рдХреЛрдИ рдкрд░рд┐рд╡рд░реНрддрди рдирд╣реАрдВ рд╣реЛрддрд╛ред

Features of Call by Reference

  • Original Variable рдХрд╛ Reference Function рдХреЛ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред
  • Original Data рдореЗрдВ рд╕реАрдзреЗ рдкрд░рд┐рд╡рд░реНрддрди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
  • Copy рдирд╣реАрдВ рдмрдирддреА, рдЗрд╕рд▓рд┐рдП Memory рдХреА рдмрдЪрдд рд╣реЛрддреА рд╣реИред
  • Execution рдЕрдзрд┐рдХ Efficient рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
  • Large Objects Pass рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИред
  • & Operator рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  • Function рдХреЗ рдкрд░рд┐рд╡рд░реНрддрди Original Variable рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВред
  • Performance рдмреЗрд╣рддрд░ рд╣реЛрддреА рд╣реИред

Features of Call by Address

  • Variable рдХрд╛ Memory Address Function рдХреЛ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред
  • Pointers рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  • Original Data рд╕реАрдзреЗ Modify рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
  • Memory Efficient Method рд╣реИред
  • Dynamic Memory рдПрд╡рдВ Arrays рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧреА рд╣реИред
  • * рддрдерд╛ & Operators рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣реЛрддрд╛ рд╣реИред
  • Large Data Structures рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИред
  • System Programming рдореЗрдВ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

Advantages and Disadvantages of Each Method

Method Advantages Disadvantages
Call by Value Original Data рд╕реБрд░рдХреНрд╖рд┐рдд рд░рд╣рддрд╛ рд╣реИред Copy рдмрдирдиреЗ рд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд Memory рддрдерд╛ Time рд▓рдЧ рд╕рдХрддрд╛ рд╣реИред
Call by Reference Fast рддрдерд╛ Memory Efficient рд╣реЛрддрд╛ рд╣реИред Original Data рдЕрдирдЬрд╛рдиреЗ рдореЗрдВ Modify рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
Call by Address Pointers рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ Direct Memory Access рдорд┐рд▓рддрд╛ рд╣реИред Pointer Handling рдХрдард┐рди рд╣реЛ рд╕рдХрддреА рд╣реИ рддрдерд╛ Errors рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд░рд╣рддреА рд╣реИред

Syntax of Call by Value

Call by Value рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп Parameters рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред Function рдХреЛ рдХреЗрд╡рд▓ Values рдХреА Copy рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреА рд╣реИред

void display(int x) { cout << x; }

Syntax of Call by Reference

Call by Reference рдореЗрдВ Function Parameter рдХреЗ рд╕рд╛рде & (Reference Operator) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред Function рдХреЛ Original Variable рдХрд╛ Reference рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП Function рдХреЗ рдЕрдВрджрд░ рдХрд┐рдП рдЧрдП рдкрд░рд┐рд╡рд░реНрддрди рд╕реАрдзреЗ Original Variable рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВред

void increment(int &x) { x++; }

рдКрдкрд░ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ x Original Variable рдХрд╛ Reference рд╣реИред рдЗрд╕рд▓рд┐рдП Function рдХреЗ рдЕрдВрджрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдкрд░рд┐рд╡рд░реНрддрди Function рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рднреА рдмрдирд╛ рд░рд╣рддрд╛ рд╣реИред


Syntax of Call by Address

Call by Address рдореЗрдВ Function рдХреЛ Variable рдХрд╛ Memory Address рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред Function рдЙрд╕ Address рдХреЛ Pointer рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ Access рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрдиреБрд╕рд╛рд░ Original Data рдХреЛ Modify рдХрд░рддрд╛ рд╣реИред

void increment(int *x) { (*x)++; }

Function Call рдХрд░рддреЗ рд╕рдордп Variable рдХреЗ рд╕рд╛рде & Operator рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрд╕рдХрд╛ Address рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред

int num=10; increment(&num);

Working of Call by Value

Call by Value рдореЗрдВ Function Call рдХреЗ рд╕рдордп Original Variable рдХреА рдПрдХ Copy рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИред Function рдХреЗрд╡рд▓ рдЙрд╕реА Copy рдкрд░ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП Function рдХреЗ рдЕрдВрджрд░ рдХрд┐рдП рдЧрдП рдкрд░рд┐рд╡рд░реНрддрди рдХреЗрд╡рд▓ Local Variable рддрдХ рд╕реАрдорд┐рдд рд░рд╣рддреЗ рд╣реИрдВред

Original Variable

тЖУ

Copy Created

тЖУ

Function Works on Copy

тЖУ

Original Value Unchanged

Working of Call by Reference

Call by Reference рдореЗрдВ Function рдХреЛ Variable рдХреА рдЕрд▓рдЧ Copy рдирд╣реАрдВ рджреА рдЬрд╛рддреАред рдЗрд╕рдХреЗ рд╕реНрдерд╛рди рдкрд░ Function рдЙрд╕реА Original Variable рдХрд╛ Reference рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП Function рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЧрдП рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрди рд╕реАрдзреЗ Original Variable рдкрд░ рдкреНрд░рднрд╛рд╡ рдбрд╛рд▓рддреЗ рд╣реИрдВред

Original Variable

тЖУ

Reference Passed

тЖУ

Function Works on Original Data

Working of Call by Address

Call by Address рдореЗрдВ Function рдХреЛ Variable рдХрд╛ Memory Address рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред Pointer рдЙрд╕ Address рдкрд░ рд╕реНрдерд┐рдд Data рдХреЛ Access рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрд╕реА Memory Location рдкрд░ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рддрд╛ рд╣реИред

Original Variable

тЖУ

Memory Address Passed

тЖУ

Pointer Accesses Address

тЖУ

Original Value Modified

Memory Representation

Method Memory Used Original Variable Modified
Call by Value Separate Copy No
Call by Reference Same Memory Yes
Call by Address Memory Address through Pointer Yes

Difference between Call by Value, Call by Reference and Call by Address

Feature Call by Value Call by Reference Call by Address
Data Passed Copy of Value Reference Memory Address
Original Value Changes No Yes Yes
Memory Usage Higher Lower Lower
Uses Pointer No No Yes
Uses & Operator No Yes During Function Call
Best Use Safe Data Transfer Fast Modification Pointer Based Programming

Complete Program using Call by Value

#include<iostream> using namespace std; void swapValue(int a,int b) { int temp; temp=a; a=b; b=temp; } int main() { int x=10,y=20; swapValue(x,y); cout<<"x = "<<x<<endl; cout<<"y = "<<y; return 0; }

рдЗрд╕ Program рдореЗрдВ Variables x рддрдерд╛ y рдХреА рдХреЗрд╡рд▓ Copy Function рдХреЛ рднреЗрдЬреА рдЬрд╛рддреА рд╣реИред рдЗрд╕рд▓рд┐рдП Function рдХреЗ рдЕрдВрджрд░ Swap рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рднреА Original Variables рдХреА Values рдирд╣реАрдВ рдмрджрд▓рддреА рд╣реИрдВред


Complete Program using Call by Reference

#include<iostream> using namespace std; void swapReference(int &a,int &b) { int temp; temp=a; a=b; b=temp; } int main() { int x=10,y=20; swapReference(x,y); cout<<"x = "<<x<<endl; cout<<"y = "<<y; return 0; }

рдпрд╣рд╛рдБ Function Original Variables рдХреЗ References рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП Swap рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж x рддрдерд╛ y рдХреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ Values рдмрджрд▓ рдЬрд╛рддреА рд╣реИрдВред


Complete Program using Call by Address

#include<iostream> using namespace std; void swapAddress(int *a,int *b) { int temp; temp=*a; *a=*b; *b=temp; } int main() { int x=10,y=20; swapAddress(&x,&y); cout<<"x = "<<x<<endl; cout<<"y = "<<y; return 0; }

рдЗрд╕ Program рдореЗрдВ Function рдХреЛ Variables рдХреЗ Memory Addresses рднреЗрдЬреЗ рдЬрд╛рддреЗ рд╣реИрдВред Pointer рдЙрдиреНрд╣реАрдВ Addresses рдкрд░ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП Original Variables рдХреА Values рдмрджрд▓ рдЬрд╛рддреА рд╣реИрдВред


Real Life Applications of Parameter Passing Methods

Method Application
Call by Value Calculator Programs, Mathematical Functions рддрдерд╛ Read-Only Operations рдореЗрдВред
Call by Reference Sorting Algorithms, Object Manipulation рддрдерд╛ Large Data Structures рдХреЗ рд▓рд┐рдПред
Call by Address Dynamic Memory Allocation, Linked List, Trees, Operating System рддрдерд╛ System Programming рдореЗрдВред
Reference & Address Large Arrays рдПрд╡рдВ Structures рдХреЛ Efficient рддрд░реАрдХреЗ рд╕реЗ Pass рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
All Methods Object Oriented Programming рддрдерд╛ Software Development рдореЗрдВ Function Communication рдХреЗ рд▓рд┐рдПред

Advantages of Parameter Passing Methods

  • Functions рдХреЗ рдмреАрдЪ Data рдХрд╛ Efficient рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рд╕рдВрднрд╡ рд╣реЛрддрд╛ рд╣реИред
  • Program рдЕрдзрд┐рдХ Modular рддрдерд╛ Reusable рдмрдирддрд╛ рд╣реИред
  • Memory рдХрд╛ рдмреЗрд╣рддрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
  • Reference рдПрд╡рдВ Address Methods рдмрдбрд╝реЗ Objects рдХреЗ рд▓рд┐рдП Fast Execution рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред
  • Original Data рдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрдиреБрд╕рд╛рд░ рд╕реБрд░рдХреНрд╖рд┐рдд рдпрд╛ Modify рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
  • Code рдХреА Readability рддрдерд╛ Maintainability рдмрдврд╝рддреА рд╣реИред
  • Complex Programs рдХреЛ рдЫреЛрдЯреЗ Functions рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛрддрд╛ рд╣реИред
  • Object Oriented Programming рдХреЛ рдЕрдзрд┐рдХ рдкреНрд░рднрд╛рд╡реА рдмрдирд╛рддреЗ рд╣реИрдВред

Limitations of Parameter Passing Methods

  • Call by Value рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд Memory рддрдерд╛ Time рд▓рдЧрддрд╛ рд╣реИред
  • Call by Reference рдореЗрдВ Original Data рдЕрдирдЬрд╛рдиреЗ рдореЗрдВ Modify рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
  • Call by Address рдореЗрдВ Pointer Programming рдХрдард┐рди рд╣реЛ рд╕рдХрддреА рд╣реИред
  • рдЧрд▓рдд Pointer Handling рд╕реЗ Runtime Errors рдЙрддреНрдкрдиреНрди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
  • Improper Method Selection Program Performance рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред

Viva Questions

  1. What is Parameter Passing in C++?
  2. Define Call by Value.
  3. Define Call by Reference.
  4. Define Call by Address.
  5. Which Method uses Pointers?
  6. Which Method uses Reference Variables?
  7. Which Method modifies Original Variables?
  8. Differentiate between Call by Reference and Call by Address.
  9. Which Method is Memory Efficient?
  10. Give real-life applications of Parameter Passing Methods.

Exam Oriented Important Questions

  1. Define Call by Value, Call by Reference and Call by Address with suitable examples.
  2. Explain the need of Parameter Passing Methods in C++.
  3. Write C++ Programs to demonstrate Call by Value, Call by Reference and Call by Address.
  4. Explain the working of all three Parameter Passing Methods.
  5. Differentiate between Call by Value, Call by Reference and Call by Address.
  6. Explain the Memory Representation of Parameter Passing Methods.
  7. Discuss the advantages and limitations of each Parameter Passing Method.
  8. Which Parameter Passing Method is most Efficient? Explain.
  9. Write short notes on Reference Variables and Pointers.
  10. Explain the real-life applications of Parameter Passing Methods.

Conclusion

Call by Value, Call by Reference рддрдерд╛ Call by Address C++ рдХреЗ рдЕрддреНрдпрдВрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг Parameter Passing Methods рд╣реИрдВред Call by Value Original Data рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рдЦрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ Call by Reference рдПрд╡рдВ Call by Address Original Variables рдХреЛ рд╕реАрдзреЗ Modify рдХрд░рдиреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ Method рдХрд╛ рдЙрдкрдпреЛрдЧ Program рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛, Memory Efficiency рддрдерд╛ Performance рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред RGPV B.Tech First Year рдХреЗ рд╡рд┐рджреНрдпрд╛рд░реНрдерд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ Topic Theory, Practical, Viva рддрдерд╛ University Examination рдХреА рджреГрд╖реНрдЯрд┐ рд╕реЗ рдЕрддреНрдпрдВрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред

Related Articles

Manipulators in C++ Notes | endl, setw, setprecision, setfill | Basic Computer Engineering | RGPV BTech First Year

0...

Read More тЖТ

Type Conversion in C++ Notes | Basic Computer Engineering | RGPV BTech First Year

Type Co...

Read More тЖТ

Assignment Operator in C++ Notes | Basic Computer Engineering | RGPV BTech First Year

Assignm...

Read More тЖТ

Copy Constructor in C++ Notes | Basic Computer Engineering | RGPV BTech First Year

Copy Co...

Read More тЖТ

this Pointer in C++ Notes | Basic Computer Engineering | RGPV BTech First Year

this Po...

Read More тЖТ