kirill_782
@kirill_782
Днем я Маринетт

Как сместить указатель на несколько байт?

malloc'om выделил память, но хочу я сместить указатель на 1 байт. Как это сделать?
  • Вопрос задан
  • 702 просмотра
Решения вопроса 1
Ivanq
@Ivanq
Знаю php, js, html, css
int* a = malloc(len);
// ...
a = (int*)((char*)a + 1);


В char*, прибавляем, обратно.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
malloc'om выделил память, но хочу я сместить указатель на 1 байт. Как это сделать?

malloc выделяет память с выравниванием достаточным для всех встроенных типов данных. Сдвиг указателя на такую память на 1 байт это выравнивание испортит. Результатом, в зависимости от платформы, будет замедление обращений к этой памяти, ошибки выравнивания исправляемые ядром ОС, либо ошибки выравнивания, приводящие к завершению программы.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы