|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
01.06.2011, 22:11 | #1 |
Пользователь
Регистрация: 01.06.2011
Сообщений: 10
|
указатели vs ссылки
Ребята есть две функции... та что через ссылки сделана работает та что через указатели нет... что я делаю не правильно?????
Код:
|
01.06.2011, 22:18 | #2 |
С++
Форумчанин
Регистрация: 22.09.2008
Сообщений: 791
|
I,J объявлены глобально?
здесь вроде все правильно, покажите код создания массива и вызова самой функции
Форматируйте код, будьте людьми.
|
01.06.2011, 22:28 | #3 |
Пользователь
Регистрация: 01.06.2011
Сообщений: 10
|
Код:
|
01.06.2011, 22:34 | #4 |
С++
Форумчанин
Регистрация: 22.09.2008
Сообщений: 791
|
Код:
Вам нужно либо передавать не указатели, а адреса переменных Код:
Код:
Форматируйте код, будьте людьми.
Последний раз редактировалось Granus; 01.06.2011 в 22:37. |
01.06.2011, 22:38 | #5 |
Пользователь
Регистрация: 01.06.2011
Сообщений: 10
|
Спасибо большое)))) я просто недопонимал момента что под указатели нужно выделять память... я считал что при объявлении они резирвируют память как и обычные переменные))) спасибо))
|
01.06.2011, 22:42 | #6 |
С++
Форумчанин
Регистрация: 22.09.2008
Сообщений: 791
|
При объявлении они как и обычные переменные просто создаются и в них записан какой-либо мусор. А так как указатель - это адрес в памяти, ни к чему хорошему это не приведет) Создавая что-то в памяти оператором new и записывая адрес созданного в указателем, мы обеспечиваем возможность работы с ним)
да, еще если создаете в памяти оператором new, то потом обязательно удалите из памяти оператором delete Код:
Форматируйте код, будьте людьми.
|
01.06.2011, 22:48 | #7 |
Пользователь
Регистрация: 01.06.2011
Сообщений: 10
|
буду иметь ввиду, спасибо...
То есть как я понял я не могу сделать так.... int *i; *i=12; ??? Только int *i; i = new int; *i =12; ?? |
01.06.2011, 22:50 | #8 |
С++
Форумчанин
Регистрация: 22.09.2008
Сообщений: 791
|
Да, Вы абсолютно правы)
Компилятор это примет, но во время выполнения будет ошибка кстати, так как вы таким же образом создаете массив Код:
Код:
Форматируйте код, будьте людьми.
Последний раз редактировалось Granus; 01.06.2011 в 22:53. |
01.06.2011, 22:54 | #9 |
Пользователь
Регистрация: 01.06.2011
Сообщений: 10
|
Спасибо ещё раз за помощь)))
|
01.06.2011, 23:02 | #10 |
С++
Форумчанин
Регистрация: 22.09.2008
Сообщений: 791
|
Получилось хорошее руководство по указателям :D
Форматируйте код, будьте людьми.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
ссылки и указатели. | mojohead | Помощь студентам | 13 | 14.01.2011 16:00 |
Найти и исправить ошибку. (Ссылки, указатели, утечка памяти) С,С++ | ZanLeO | Общие вопросы C/C++ | 8 | 09.08.2010 13:00 |
C++ Указатели и ссылки - Вычислить площадь квадрата. | Scarletred | Помощь студентам | 2 | 24.05.2010 03:49 |
C++ указатели. | tshen | Помощь студентам | 3 | 16.04.2010 22:00 |
[C] массивы, указатели, двойные указатели. | Iggel | Общие вопросы C/C++ | 5 | 05.05.2009 12:39 |