Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
4 / 4 / 0
Регистрация: 01.07.2015
Сообщений: 51
1

Инициализация указателя через функцию

19.07.2016, 23:50. Показов 1046. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
using namespace std;
void inic(int * k);
int main()
{
    int * k = 0;
    inic(k);
    cout << k;
}
void inic(int * k)
{
    int * n = new int;
    *n = 10;
    k = n;
}
На выходе получается нулевой адрес, когда как ожидалось получить адрес переменной n.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.07.2016, 23:50
Ответы с готовыми решениями:

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

Инициализация указателя
Написал такой код: #include &lt;iostream&gt; using namespace std; int main() { int n=10;...

инициализация указателя
class Item { public: Item() { num0=new char(&quot;как&quot;);//ошибка cannot convert from 'const...

Инициализация указателя с malloc ?
Я тут прочитал про malloc, верно ли я понял? Есть: char* pszBuffer; Выходит лучше сделать...

5
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
19.07.2016, 23:51 2
HA4ERR, в функции копия указателя.
0
4 / 4 / 0
Регистрация: 01.07.2015
Сообщений: 51
19.07.2016, 23:54  [ТС] 3
Есть ли способ изменить адрес указателя, находящийся в main(), именно через функцию?
0
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
19.07.2016, 23:57 4
HA4ERR, например, можете передавать ссылку на указатель:
C++
1
2
3
void inic(int *& k){//прототип поменять не забудьте
//абсолютно тот же код
}
1
4 / 4 / 0
Регистрация: 01.07.2015
Сообщений: 51
20.07.2016, 00:33  [ТС] 5
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
using namespace std;
int main()
{
    int * n = new int;
    *n = 10;
    int * k = n;
    delete k;
}
Как освободить память, имея только указатель на указатель, который нужно освободить.
В данном примере была осуществлена попытка освобождения памяти указателя n с помощью указателя k.
0
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,736
Записей в блоге: 1
20.07.2016, 10:45 6
Цитата Сообщение от HA4ERR Посмотреть сообщение
В данном примере была осуществлена попытка освобождения памяти указателя n с помощью указателя k.
Всё нормально.
Не важно какой именно указатель,
важен адрес памяти и тип объекта

И да, не память указателя n,
скорее память, на которую "указывает" n.
1
20.07.2016, 10:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.07.2016, 10:45
Помогаю со студенческими работами здесь

Инициализация указателя в классе
Есть класс const int NoL = 0; class A{ private: int&amp; IF; A(){IF = NoL; }; } на что...

Инициализация указателя в функции
не понимаю... main.cpp somestruct *v = 0; int main() { init(v);

Объясните как происходит инициализация данного указателя
Доброе утро. Объясните понятным языком по этапно, как происходит инициализация указателя на...

Зачем передавать в функцию X указатель на callback функцию, если последняя ВНЕШНЯЯ и вызовется БЕЗО ВСЯКОГО УКАЗАТЕЛЯ?
Собсно. То есть ребята, вот пример отсюда: http://www.cplusplus.com/reference/algorithm/count_if/...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru