Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.02.2012, 12:53   #1
sexsex
Новичок
Джуниор
 
Регистрация: 24.02.2012
Сообщений: 7
По умолчанию если через стек передается адрес памяти. зачем нужны указатели *

если все функции принимают (почти все) параметры через стек. то обычно в стек помещается адрес какойто памяти.

так зачем тогда нужны указатели *
sexsex вне форума Ответить с цитированием
Старый 25.02.2012, 12:57   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Код:
void test(int i, int j)
аргументы передаються сами, и передаються копии.
Код:
void test(int *i, int *j)
передаються указатели на переменные, а не их копии.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 25.02.2012 в 12:59.
Пепел Феникса вне форума Ответить с цитированием
Старый 25.02.2012, 13:45   #3
sexsex
Новичок
Джуниор
 
Регистрация: 24.02.2012
Сообщений: 7
По умолчанию

Код:
char sss[] = "ABZZZ";
printf("%x\n", *sss);
вот так выводится только первая буква A (41h) это как понять? ведь должно по идее все ABZZZ
sexsex вне форума Ответить с цитированием
Старый 25.02.2012, 13:49   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

вы разименовали указатель и передали лишь один символ.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 25.02.2012, 14:05   #5
sexsex
Новичок
Джуниор
 
Регистрация: 24.02.2012
Сообщений: 7
По умолчанию

а можно почитать вобще чтоб доступно понять по указателям. и ссылки тоже
sexsex вне форума Ответить с цитированием
Старый 25.02.2012, 15:43   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
если все функции принимают (почти все) параметры через стек. то обычно в стек помещается адрес какойто памяти.
Кто сказал? Если параметр влезает в фрейм элемента стека то его нет смысла передавать указателем, если с оригиналом не требуется проводить каких-то изменений.
Цитата:
так зачем тогда нужны указатели *
Чтоб работать с памятью типа "куча" Почитай про нее в книгах по классическому Си. Даже у Кернигана описано это, и имхо во всех книгах тоже есть главы посвященные работе с указателями.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.02.2012, 17:17   #7
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от sexsex Посмотреть сообщение
а можно почитать вобще чтоб доступно понять по указателям. и ссылки тоже
Да. Можно. В любом учебнике, базовый курс с++
_Bers вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
зачем жить, если потом умрем? Qaliti Свободное общение 26 14.10.2011 00:09
Зачем нужны блок-схемы? fs444 Общие вопросы по программированию, компьютерный форум 31 27.01.2010 04:11
Зачем нужны операторы << и >> fs444 Общие вопросы C/C++ 3 23.12.2009 08:07
обновление в блоге - Strtochar или зачем нужны указатели Pblog Обсуждение статей 0 22.08.2007 17:13
обновление в блоге - Ресурсы. Зачем они нужны. Pblog Обсуждение статей 0 27.05.2007 03:17