The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Странность с char ** +="
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Странность с char ** +="
Сообщение от XMan Искать по авторуВ закладки on 27-Янв-03, 02:57  (MSK)
subj. Конкретнее, при выполнении кода:

char **x;
// инциализация x
x+=sizeof(char *);

x увеличивается не на размер "char *", то есть на 4, а на 16 байт (параграф). Лечится изменением кода на:

x = (char **)((int)x + sizeof(char *));

Может я чего незнаю ?
Система linux 2.4.18-18, glibc 2.2.5-40, gcc 2.96 20000731

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "RE: Странность с char ** +="
Сообщение от vnp emailИскать по авторуВ закладки on 27-Янв-03, 04:08  (MSK)
>subj. Конкретнее, при выполнении кода:
>
>char **x;
>// инциализация x
>x+=sizeof(char *);
>
>x увеличивается не на размер "char *", то есть на 4, а
>на 16 байт (параграф).

Ну а чего бы вы хотели? Прибавление 1 к адресу дает следующий _адрес_
того же типа; указуемое есть (char *), т.е. его размер есть размер
пойнтера, иначе говоря, 4 байта. И так 4 раза.

>Лечится изменением кода на:
>
>x = (char **)((int)x + sizeof(char *));

x += 1; тоже будет работать.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "RE: Странность с char ** +="
Сообщение от XMan Искать по авторуВ закладки on 27-Янв-03, 05:56  (MSK)
Мда. Надо ж было на такие грабли наступить...

Спасибо :)

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру