Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Saiberg
19 / 19 / 1
Регистрация: 23.09.2010
Сообщений: 193
#1

Работа с указателями(небольшой вопрос насчет преобразований) - C++

19.11.2010, 11:30. Просмотров 342. Ответов 6
Метки нет (Все метки)

C++
1
2
*((uint*)space)=SIGNATURE;
space+=sizeof(uint);
Как записать в одну строчку ?

C++
1
*(((uint*)space)++)=SIGNATURE;
так не работает = \
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2010, 11:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа с указателями(небольшой вопрос насчет преобразований) (C++):

Вопрос насчет указателей - C++
Объясните мне пожалуйста, что значит подобное объявление: const SimpleCat * const FunctionTwo (const SimpleCat * const TheCat); ...

простой вопрос насчет вывода матрицы - C++
нужно вывести зеркальное отображение первой строки матрицы. for(j=0;j<2;j++) { f = mas; mas = mas; mas =...

небольшой вопрос..... - C++
подскажите,пожалуйста,что в этой записи обозначает &(амперсант) перед переменными? int dd, mm, yy; fscanf(Query,"%d.%d.%d", &dd, &mm,...

Небольшой вопрос от нуба в C++ - C++
Есть задача: в одномерном массиве найти номер максимального элемента, сосчитать произведение между первым и вторым нулями, и перестроить...

Небольшой вопрос по массивам - C++
В общем столкнулся с одной проблемой. Ведь в массивах все элементы начинаются с 0, то когда я пишу какую-нить прогу для решения какой-либо...

небольшой вопрос по структурам - C++
Плиз, подскажите как присвоить значение переменной(index) элементу массива структуры(avto.chet). Вроде бы ерунда, а не получается.

6
fasked
Эксперт С++
4951 / 2531 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
19.11.2010, 11:36 #2
а какие типы имеют space и SIGNATURE?
Я просто не понимаю зачем сначала приводить к указателю и сразу разыименовывать его.
И что мешает сделать так?
C
1
*((uint*)space) = SIGNATURE + sizeof(uint)
0
Saiberg
19 / 19 / 1
Регистрация: 23.09.2010
Сообщений: 193
19.11.2010, 11:38  [ТС] #3
SIGNATURE uint
space uchar*

т.е. то , что вы написали не имеет смысла в моем случае
0
accept
4828 / 3249 / 165
Регистрация: 10.12.2008
Сообщений: 10,569
19.11.2010, 11:41 #4
Цитата Сообщение от fasked
Я просто не понимаю зачем сначала приводить к указателю и сразу разыименовывать его.
такое бывает, если там какой-нибудь void *, поданный в функцию

можно попробовать
C
1
*((uint *) space)++ = SIGNATURE;
1
Saiberg
19 / 19 / 1
Регистрация: 23.09.2010
Сообщений: 193
19.11.2010, 11:48  [ТС] #5
не комплируется так...
0
accept
4828 / 3249 / 165
Регистрация: 10.12.2008
Сообщений: 10,569
19.11.2010, 11:58 #6
да, скорее всего не прокатит в одну строку, так как указателя на uint нету, то есть перемещать нечего
1
fasked
Эксперт С++
4951 / 2531 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
19.11.2010, 12:04 #7
accept, это ж lvalue.

ну вообще у меня вот так получилось, даже отработало, но это undefined явный:
C
1
2
3
4
5
6
        uint SIGNATURE = 0xA;
        uchar *space = NULL;
 
        space = (space = (char*)SIGNATURE) + sizeof(uint);
 
        printf("%p\n", space);
В результате space = 0xE
0
19.11.2010, 12:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.11.2010, 12:04
Привет! Вот еще темы с ответами:

Небольшой вопрос про наследование. - C++
Как понять Circle (int x, int y, int r, TColor p, TColor b) : cx (x), cy (y), rad (r), Shape (p, b) {} строчку понял что это...

Небольшой вопрос по заполнению структуры - C++
В первой строке ошибка, пропущена точка с запятой.. Поправте, как правильно заполнить Zapravki_AZS.AZS = {{ "Lukoil"; ...

небольшой вопрос про совмещение строк - C++
всем приятного времени суток))сразу извиняюсь если тема не в том разделе:pardon: вот назрела задачка....помогите разобраться.. в общем:...

Работа с указателями - C++
Здравствуйте! Есть массив созданный ГСС. Надо написать функция которая вычисляет сколько в нем четных чисел, выделяет память под них и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.