#include <iostream>
#include <cstring>
int main() {
// Step 1: Declare variables
int size = 5;
int* sourceArray = new int[size];
int* destinationArray = new int[size];
// Step 2: Initialize sourceArray
for (int i = 0; i < size; ++i) {
sourceArray[i] = i + 1;
}
// Step 3: Display the content of sourceArray
std::cout << "Source Array: ";
for (int i = 0; i < size; ++i) {
std::cout << sourceArray[i] << " ";
}
std::cout << std::endl;
// Step 4: Perform memory copy using DMA (Deep Copy)
std::memcpy(destinationArray, sourceArray, size * sizeof(int));
// Step 5: Display the content of destinationArray
std::cout << "Destination Array (After DMA): ";
for (int i = 0; i < size; ++i) {
std::cout << destinationArray[i] << " ";
}
std::cout << std::endl;
// Step 6: Deallocate memory
delete[] sourceArray;
delete[] destinationArray;
return 0;
}