Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Mecherok
0 / 0 / 0
Регистрация: 22.04.2018
Сообщений: 15
1

Передача в функцию указателя на указатель на одномерный массив

17.06.2018, 10:24. Просмотров 754. Ответов 4
Метки нет (Все метки)

Как изменить следующий код, чтобы в функции addValue в качестве первого входного параметра использовался указатель на указатель, а не ссылка на указатель?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include "stdafx.h"
#include <iostream>
#include <locale.h>
#include <cstdlib>
#include <ctime>
using namespace std;
 
void addValue(int *&arr, int &size, const int value)
{
    int i;
    int *newArray = new int[size + 1];
 
    for (i = 0; i < size; i++) {
        newArray[i] = arr[i];
    }
 
    newArray[size] = value;
    size++;
 
    delete[] arr;
    
    arr = newArray;
}
 
int main()
{
    setlocale(LC_ALL, "Rus");
    int size = 5;
 
    int *arr = new int[size];
 
    addValue(arr, size, 13);
    
    delete[] arr;
 
    getchar();
    return 0;
}
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2018, 10:24
Ответы с готовыми решениями:

Передача умного указателя в функцию принимающую указатель на указатель
Итак имеется функция со следующим параметром: HRESULT __stdcall Function(SomeClass **param); ...

Передача указателя на указатель в функцию
Вопрос к знатокам: Есть абстрактный класс(Symbol) и его производный (Cross). Создаю указатель этого...

Передача в функцию указателя на указатель
Добавление нового элемента в начало списка: void Add_Beg(List **u, Data &amp;x) // Почему в 1...

Передача указателя на массив структур в функцию
Здрвствуйте! Не могу сообразить почему вылетает segmentation fault в функции, inputDate при...

Передача указателя на двумерный массив в функцию
Здравствуйте. Сильно не ругайтесь, в c++ недавно. Потихоньку подошел к указателям. Могу передать...

4
Biger18
151 / 143 / 87
Регистрация: 13.06.2018
Сообщений: 624
17.06.2018, 10:27 2
Лучший ответ Сообщение было отмечено Mecherok как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void addValue(int **arr, int &size, const int value)
{
    int i;
    int *newArray = new int[size + 1];
 
    for (i = 0; i < size; i++) {
        newArray[i] = (*arr)[i];
    }
 
    newArray[size] = value;
    size++;
 
    delete[] *arr;
    
    *arr = newArray;
}
1
Yetty
2809 / 1963 / 1283
Регистрация: 18.12.2017
Сообщений: 6,302
17.06.2018, 11:01 3
Mecherok, Вам точно нужен указатель на указатель ? просто указатель не подойдёт ?
0
Mecherok
0 / 0 / 0
Регистрация: 22.04.2018
Сообщений: 15
17.06.2018, 20:23  [ТС] 4
Да, нужен был именно указатель на указатель

Добавлено через 52 секунды
Можно ли заменить запись
C++
1
(*arr)[i]
на
C++
1
*(arr + i)
?
0
Biger18
151 / 143 / 87
Регистрация: 13.06.2018
Сообщений: 624
17.06.2018, 20:26 5
нет *(*arr+i)
1
17.06.2018, 20:26
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.06.2018, 20:26

Передача Указателя На Двумерный Массив В Функцию
Как изменить код, чтобы массив объявлялся в main() и передавался в input_strings(). Код: ...

Передача в функцию указателя на динамический массив
Добрый день. Не могу понять одну вещь. Вот такой вот код работает. Создается массив из 10 элементов...

Передача указателя на массив структур в функцию и далее
Не могу получить доступ к члеман массива структур, есть доступ только к первому члену массива. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.