Memory Address Program
Introduction
This C++ program demonstrates how to obtain and display the memory addresses of two specific variables: an integer and a double. Understanding memory addresses is fundamental in C++, as it provides insight into where data is stored in memory. This program defines a function, memoryAddresses, that accepts an integer and a double by reference and prints their respective memory addresses to the console.
Program Overview
The program consists of:
A
memoryAddressesfunction that prints the memory addresses of an integer and a double variable passed by reference.A
mainfunction that declares example integer and double variables and callsmemoryAddressesto display their addresses.
Code
#include <iostream>
using namespace std;
void memoryAddresses(int &var1, double &var2) {
cout << "Memory address of first variable: " << &var1 << endl;
cout << "Memory address of second variable: " << &var2 << endl;
}
int main() {
int intVar = 42;
double doubleVar = 3.14;
memoryAddresses(intVar, doubleVar);
return 0;
}
Function: memoryAddresses
void memoryAddresses(int &var1, double &var2);
Purpose
The memoryAddresses function outputs the memory addresses of an integer and a double variable passed by reference.
Parameters
int &var1: A reference to the first variable of typeint. The function will print this variable's memory address.double &var2: A reference to the second variable of typedouble. The function will print this variable's memory address.
Output
The function prints the memory addresses of var1 and var2 to the console, formatted with explanatory text.
Example Usage
int intVar = 42;
double doubleVar = 3.14;
memoryAddresses(intVar, doubleVar);
In this example, the function will output the memory addresses of intVar and doubleVar.
Function: main
int main();
Purpose
The main function serves as the program’s entry point and demonstrates the use of the memoryAddresses function.
Functionality
Variable Declaration: Declares two example variables,
intVar(an integer) anddoubleVar(a double).Function Call: Calls
memoryAddresseswithintVaranddoubleVarto display their memory addresses.


Output
Upon execution, the program outputs the memory addresses of intVar and doubleVar in the following format (addresses will vary):
Memory address of first variable: 0x7fffc4d6ec4c
Memory address of second variable: 0x7fffc4d6ec50
Program Requirements
C++ Compiler: Requires a C++ compiler that supports basic I/O, such as any compiler compatible with C++98 or later.
Standard Library: Only
<iostream>is required for console output.
Conclusion
This program is a straightforward example of how to access and print memory addresses in C++ for variables of specific types. By focusing on the memory addresses of an integer and a double, it introduces concepts of memory management, pointers, and references in C++. This approach can be adapted to various contexts where understanding or managing memory addresses is crucial.
