|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Зачем нужны указатели С++? |
|
|
Зачем нужны указатели С++?
|
Guest |
Мы сейчас их изучаем, я понимаю ка кими пользоватся но вот одного понять не могу - зачем они нужны? То есть покажите пример где указатели использовать более эффективно или вобще без них не обойтись? Заранеее спасибо за любую помощь!
|
|
Отправлено: 18:19, 03-05-2004 |
Пользователь Сообщения: 95
|
Профиль | Сайт | Отправить PM | Цитировать Например у тебя есть массив символов, и есть указатель, который указывает на этот массив...
т.е. массив - просто переменная указатель - место в памяти записывать информацию нужно соответственно не в переменную а в память (указатель)... это как пример [s]Исправлено: suxxl, 0:07 4-05-2004[/s] |
------- Отправлено: 22:04, 03-05-2004 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Модер Железа Сообщения: 1557
|
Профиль | Сайт | Отправить PM | Цитировать Guest
Указатели в Си были введены для более удобной работы с массивами. Так, к примеру, имя массива - (константный) указатель на его первый элемент. А теперь представьте, что массив не статический, а динамический... |
------- Отправлено: 23:05, 03-05-2004 | #3 |
Lexxuss
Сообщения: n/a |
В си функция может вернуть только одно определенное значение. К примеру, если тебе нужно вернуть массив данных, нельязя написать return a[N], но ты можешь вернуть указатель на этот массив. Здеся без указателей никуда *
* * * * |
Отправлено: 21:07, 05-05-2004 | #4 |
Модер Железа Сообщения: 1557
|
Профиль | Сайт | Отправить PM | Цитировать Развлекался нынче так:
Цитата:
|
||
------- Отправлено: 18:36, 06-05-2004 | #5 |
Ветеран Сообщения: 551
|
Профиль | Отправить PM | Цитировать bgg0408
Ну ты завернул! Где такую траву берешь? Без компилятора: производится преобразование адреса А в инт, а затем по этому адресу кладется значение? Хотя массив... Блин, аж голова разболелась - давно на Сях писал... Нельзя так людей мучать |
------- Отправлено: 20:17, 06-05-2004 | #6 |
Рыжая Сообщения: 1550
|
Профиль | Сайт | Отправить PM | Цитировать нифига не делает
не компилится даже (JFE nad GCC C/C++ compiler) |
------- Отправлено: 21:00, 06-05-2004 | #7 |
Модер Железа Сообщения: 1557
|
Профиль | Сайт | Отправить PM | Цитировать Ginder
Цитата:
А ты в main этот код добавила? Цитата:
Смысл кода в том, что я обращаюсь к переменной double, как массиву 2-х int'ов(чтобы по 4 байта), затем чтобы сгенерировать NAN, выставим все поля double вручную, т.к. компилятор не позволяет сгенерировать это чудесное число напрямую. Он его не знает Есть еще один способ получить NAN: Цитата:
[s]Исправлено: bgg0408, 23:36 6-05-2004[/s] |
|||
------- Отправлено: 23:30, 06-05-2004 | #8 |
Старый параноик Сообщения: 2423
|
Профиль | Отправить PM | Цитировать bgg0408
float getNaNQ () { unsigned long num = 0xffffffffUL; return *(float*)# } int isNaNQorInf (float num_) { float num = num_; return ((*(long *)&num & 0x7f800000L) == 0x7f800000L); } int isInf (float num_) { float num = num_; return (((*(long *)&num & 0x7f800000L) == 0x7f800000L) && \ ((*(long *)&num & 0x007fffffL) == 0x00000000L)); } isNaNQ (float num_) { float num = num_; return (((*(long *)&num & 0x7f800000L) == 0x7f800000L) && \ ((*(long *)&num & 0x007fffffL) != 0x00000000L)); } |
Отправлено: 08:39, 07-05-2004 | #9 |
Модер Железа Сообщения: 1557
|
Профиль | Сайт | Отправить PM | Цитировать hasherfrog
Крут, крут Ничего не скажешь :D Замечу: и всё указатели как-то используются |
------- Отправлено: 23:31, 07-05-2004 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Зачем нужны торрент сайты? | firedevil | Хочу все знать | 22 | 03-06-2009 11:32 | |
Разное - [решено] Зачем нужны DVD Fab Platinum и PDF-X Changes | firedevil | Хочу все знать | 1 | 09-09-2008 19:59 | |
Delphi - зачем DCC32.EXE нужны system.pas, sysinit.pas, *.dpr ? | akrav | Программирование и базы данных | 4 | 12-05-2008 14:25 | |
Зачем нужны архиваторы? | Bass666 | Хочу все знать | 11 | 19-10-2006 21:16 | |
Зачем нужны заплатки? | 9628 | Хочу все знать | 16 | 06-01-2006 22:21 |
|