@Puj

Как одна функция узнает числа массива из другой функции?

Не могу понять как функция ShowArray видет числа из функции FillArray, область видимости дальше этой функции выходить не может?
Объясните пожалуйста как это происходит
#include <iostream>
#include <ctime>
using namespace std;

int FillArray(int *const arr, const int  size){
  for (int i = 0; i < size; i++)
  {
    arr [i] = rand()%10;
  }
}    

int ShowArray(const int* const arr, const int size){
  for(int i = 0; i < size; i++)
  {
    cout<< arr[i] << "\t";
  }
  cout << endl;
}
int push_back(int *&arr, int &size, const int value)
  {
    int *newArray = new int[size];
    for (int i = 0; i < size; i++)
    {
      newArray[i] = arr[i];
    }
    newArray[size] = value;
    size++;
    delete[] arr;
    arr = newArray;
  }
int main()
{
    srand(time(NULL));
    int size = 10; 
    //КОПИРОВАНИЕ ОДНОГО МАССИВА В ДРУГОЙ И УДАЛЕНИЕ ПЕРВОГО
    int *firstarray = new int[size];
    int *secondarray = new int[size];
    
    FillArray(firstarray, size);
    FillArray(secondarray, size);
    cout<< "firstarray: \t";
    ShowArray(firstarray, size);
    cout<< "secondarray:\t";
    ShowArray(secondarray, size);
}
  • Вопрос задан
  • 138 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Flysink
Почитайте про указатели и ссылки, в FillArray вы передаете указатель на массив int, то-есть адрес в памяти, где лежат данные, и в ShowArray вы передаете тот же адрес в памяти, где лежат данные.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы