![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Пользователь
Регистрация: 18.09.2011
Сообщений: 21
|
![]()
Здравствуйте! Почему не работает эта функция? В ней я с помощью указателя переворачиваю массив.
Код:
|
![]() |
![]() |
![]() |
#2 |
C++ hater
Старожил
Регистрация: 19.07.2009
Сообщений: 3,333
|
![]()
1. под буфер не выделил память
2. разыменовывать void указатель нельзя
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 18.09.2011
Сообщений: 21
|
![]()
2.Я же просто меняю местами адреса в памяти а не беру значения...
1. Просто добавить mallock(width); ? Последний раз редактировалось mikebrownen; 18.09.2011 в 13:31. |
![]() |
![]() |
![]() |
#4 | ||
C++ hater
Старожил
Регистрация: 19.07.2009
Сообщений: 3,333
|
![]()
2mikebrownen
Цитата:
Цитата:
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance |
||
![]() |
![]() |
![]() |
#5 |
JAVA BEAN
Участник клуба
Регистрация: 22.04.2007
Сообщений: 1,329
|
![]()
Арифметика над void указателями.
Итак, какого типа массив? Хотя, пофиг, в принципе: Код:
Последний раз редактировалось Stilet; 18.09.2011 в 16:01. |
![]() |
![]() |
![]() |
#6 | |
Форумчанин
Регистрация: 01.07.2011
Сообщений: 423
|
![]() Цитата:
У вас несколько ошибок в программе. Вор-первых, тип void не имеет значений, а поэтому невозможно с указателем void * выполнять арифметику с указателями, так как размер типа void неизвестен. То есть сам образ вашего мышления неверный. Вы думаете, что если вы к указателю прибавили целое число, то значение указателя увеличится на это целое число. Например, пусть задан указатель на int, который адресует массив целых чисел. Код:
Код:
Теперь снова возращаясь к типу указателя на void, то так как размер типа void неизвестен, то ваше выражение из цикла Код:
Код:
Из-за этого вашего непонимания проистекают и другие ошибки кода.
Со мной можно встретиться на www.clipper.borda.ru
|
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 18.09.2011
Сообщений: 21
|
![]()
ТО есть если мы не знаем тип массива то единственный вариант использовать чаровый указатель и побайтово переворачивать?
|
![]() |
![]() |
![]() |
#8 | |
Форумчанин
Регистрация: 01.07.2011
Сообщений: 423
|
![]() Цитата:
Например, у вас есть объявление какой-нибудь структуры Код:
Код:
Ежели вы хотите делать так, как вы себе представляете, то есть чтобы при прибавлении к указателю целого числа значение указателя менялось на это целое число, то вам надо преобразовать указатель в указатель на char, и, так как sizeof( char ) == 1, то вы сможете изменить значение указателя так, как вы себе это представляете.
Со мной можно встретиться на www.clipper.borda.ru
|
|
![]() |
![]() |
![]() |
#9 | |
JAVA BEAN
Участник клуба
Регистрация: 22.04.2007
Сообщений: 1,329
|
![]() Цитата:
Забавно, а в функции он не известен. По крайней мере, так тс её описал. Типа функция для массивов любых типов, главное знать sizeof этого типа. И да, в одном массиве вполне могут быть объекты разных типов, правда функция будет работать в том случае если у них у всех sizeof одинаковый. Последний раз редактировалось Carbon; 18.09.2011 в 19:21. |
|
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 18.09.2011
Сообщений: 21
|
![]() Код:
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Произведение элементов массива в функции (передача массива в функцию) (Delphi) | Toxa16 | Помощь студентам | 1 | 23.04.2011 04:42 |
Pascal: Составить программу генерирования массива B, состящего из отрицательных элементов массива a | mrRastom | Помощь студентам | 2 | 15.01.2011 14:33 |
Сумма и произведение элементов массива, удовлетворяющих условию (генерация float массива) | felodese | Помощь студентам | 1 | 11.11.2010 20:52 |
переворачивание массива | denis2010 | Помощь студентам | 3 | 28.01.2010 09:17 |
переписать из массива в линейный двунаправленный список чётные элементы массива | Black_Ak24 | Помощь студентам | 12 | 08.01.2008 00:44 |