Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Обмен указателей


Автор: tofreesky 2.9.2010, 22:14
Вопрос решен

Автор: bsa 2.9.2010, 23:48
операция ARRAY_A[1] = ARRAY_A[0] присваивает первому элементу массива, на который ссылается указатель ARRAY_A, значение нулевого. Значение указателя при этом не меняется. Если тебе нужно присвоить указатели, то это делается так: STRUCTA = ARRAY_A.

P.S.: рекомендую почитать http://forum.vingrad.ru/forum/index.php?show_type=forum&showtopic=269794&kw=faq-c++, в частности, про указатели и оформление кода (у тебя типы не отличаются от переменных).

Автор: tofreesky 3.9.2010, 18:50
Тут вообще как таковых указателей нету, они просто нигде не хранятся, есть только базовый адрес. Так что указатели тут не перемешаешь. Верно? 
Ответов что-то мало

Автор: mes 3.9.2010, 19:03
Цитата(tofreesky @  3.9.2010,  17:50 Найти цитируемый пост)
Ответов что-то мало 

потому что не там ищете.. на подобные вопросы все ответы уже давно даны в книжках, в крайнем случае (для ленивых) в FAQ форума smile 

Автор: tofreesky 3.9.2010, 19:09
Ответьте  да или нет на мой третий пост. 

Автор: alexvs11 3.9.2010, 22:17
Цитата(tofreesky @  3.9.2010,  18:50 Найти цитируемый пост)
Ответов что-то мало

велосипед какойто, непонятно на что оно надо

Автор: mes 3.9.2010, 22:46
Цитата(tofreesky @  3.9.2010,  18:09 Найти цитируемый пост)
Ответьте  да или нет на мой третий пост.  

для начала задайте его корректно. догадываться или описывать все нет ни времени ни желания. 
smile

Автор: bsa 3.9.2010, 23:24
Цитата(tofreesky @  3.9.2010,  19:50 Найти цитируемый пост)
 Верно? 

НЕТ, не верно.
Читай статью об указателях в часто задаваемых вопросах. А лучше, читай литературу, ее список можно найти там же.

M
bsa
tofreesky, прекращай дерзить, тебе никто тут ни чем не обязан. Читай мою подпись и в следующий раз думай, когда вопросы задаешь.

Автор: tofreesky 4.9.2010, 11:30
Исходник в первом сообщении. Я хочу перемешать указатели на структуры. Такое в принципе НЕ ВОЗМОЖНО. Ведь указатели нигде не хранятся. Есть только базовый адрес памяти.
Так что, либо я дурак, либо Комодератор выше не компитентен? Можешь тогда объяснить как это возможно? Перемешать указатели на структуры которых просто нету.

Автор: mes 4.9.2010, 16:03
Цитата(tofreesky @  4.9.2010,  10:30 Найти цитируемый пост)
 Я хочу перемешать указатели на структуры. Такое в принципе НЕ ВОЗМОЖНО. Ведь указатели нигде не хранятся.

О каких указателях идет речь ?! указателей у Вас всего два : ARRAY_A и STRUCTA;
но судя по коду Вы собирались перемешивать совсем не это.

Поэтому и было вам предложено почитать литературу, чтоб смогли задать вопрос корректно,
а не пытаться получить ответ, на абсолютно некорректный  и не имеющий ответа вопрос.

Цитата(tofreesky @  4.9.2010,  10:30 Найти цитируемый пост)
Есть только базовый адрес памяти.

в разрере ваших высказываний трудно сказать правильно ли Вы поняли хотя бы это... 

Цитата(tofreesky @  4.9.2010,  10:30 Найти цитируемый пост)
ак что, либо я дурак, либо Комодератор выше не компитентен? 

когда внимательно и разборчиво почитаете книжку поймете, что Ваши сомнения в Комодераторе безосновательны.

Цитата(tofreesky @  4.9.2010,  10:30 Найти цитируемый пост)
 Можешь тогда объяснить как это возможно? 

Что такое _Это_ никому не охота догадываться

Цитата(tofreesky @  4.9.2010,  10:30 Найти цитируемый пост)
Перемешать указатели на структуры которых просто нету. 

еще раз повторюсь, В ваших терминах не понятно о чем идет речь. 
точнее понятно, что Вы не понимаете происходящего и для объяснения поста форума будет явно не достаточно.


Автор: tofreesky 4.9.2010, 18:26
Вам из кода ничего не понятно? Мы виделем память под N структур, потом я хочу перемешать указатели на эти структуры а не сами структуры, а потом до меня дошло что указателей то в принципе нету, кроме как на памяти выделенную. Так что изначально я пытался сделать невозможное.

Автор: mes 4.9.2010, 19:06
Цитата(tofreesky @  4.9.2010,  17:26 Найти цитируемый пост)
Вам из кода ничего не понятно?

понятно.  и даже то, что Вам не понятно происходящее из за чего и приходят некоректные вопросы  smile 

Цитата(tofreesky @  4.9.2010,  17:26 Найти цитируемый пост)
 Так что изначально я пытался сделать невозможное. 

но проблема не в том, что пытались сделать невозможное, а в непонимании происходящего.
 smile 

 smile 


Автор: bsa 5.9.2010, 23:57
tofreesky, указатель, это такая переменная, которая содержит адрес какого-то объекта. Тип объекта может быть любым. В том числе и указателем. Таким образом, чтобы "перемешать указатели", тебе нужно сначала сделать массив указателей (A * *array = new A[10]), затем присвоить им адреса соответствующих объектов, а уж потом "перемешивать".

Добавлено через 36 секунд

M
bsa
Раз ответ на вопрос получен, то пометь тему решенной

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)