DMA c/c++

#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;
}