I am getting confused between the memory address and the value of how pointers work. How would I use this program to ask the user to enter a set of large integer numbers and add the arrays together but with pointers?
#include <stdio.h> #include <stdlib.h> #include <iostream> #include <conio.h> #include <sstream> int const SIZE = 5; using namespace std; void inputValue1(long int[]); void inputValue2(long int[]); void Sum(long int array1[], long int array2[]); main() { long int A[SIZE]; long int B[SIZE]; long int C[SIZE]; inputValue1(A); inputValue2(B)/>; Sum(A, B)/>; getch(); } void inputValue1(long int A[]) { cout << "First array" << endl; for(int i=0; i<SIZE; i++) { cout << "Enter digit " << i + 1 << " of " << SIZE << ":"; cin >> A[i]; if (A[i] > 9 || A[i] < 0) { cout << "Enter a digit between 0 and 9" << endl; i --; } cout << "\n"; } return; } void inputValue2(long int B[]) { cout << "Second array" << endl; for(int i=0; i<SIZE; i++) { cout << "Enter digit " << i + 1 << " of " << SIZE << ":"; cin >> B[i]; if (B[i] > 9 || B[i] < 0) { cout << "Enter a digit between 0 and 9" << endl; i --; } cout << "\n"; } return; } void Sum(long int array1[], long int array2[]) { string firstArrayStr; string secondArrayStr; long int firstNum; long int secondNum; long int result; stringstream firstStream; stringstream secondStream; // First array for (int counter = 0; counter < SIZE; counter++) { firstStream << array1[counter]; // Add this array element to string stream firstArrayStr = firstStream.str(); } // Second array for (int counter = 0; counter < SIZE; counter++) { secondStream << array2[counter]; secondArrayStr = secondStream.str(); } // Convert strings to integers firstNum = atoi(firstArrayStr.c_str()); secondNum = atoi(secondArrayStr.c_str()); result = firstNum + secondNum; cout << "result = " << result << endl; }