54 / 54 / 10
Регистрация: 26.09.2011
Сообщений: 186
1

Обращение по адресу к элементам структуры

19.04.2012, 13:32. Показов 5355. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть структура fs:
C++
1
2
3
4
5
6
7
struct fs
{
     f_element;
     s_element;
     ...
    n_element;
};
Есть массив указателей на структуру
C++
1
struct fs *p = new struct fs [n];
Для перемещения по объектам используем конструкцию типа p[i] (0<i<n), где p[i] - это должен быть адрес первого элемента структуры.
Как перемещаться по элементам p[i] структуры? Нужно обойти констуркцию p[i].n_element;

Добавлено через 21 минуту
Надо попробовать увеличить адресс-p[i] на число байт, которое занимает один элемент структуры. Вроде должно получиться

Добавлено через 29 минут
Не, все равно не получается
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.04.2012, 13:32
Ответы с готовыми решениями:

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

По доступу к элементам структуры по адресу или значению
В продолжение моей прошлой темы про функцию malloc, создал новую тему, опасаясь, что туда уже никто...

Обращение к элементам структуры. (masm32)
Приветствую, такая ситуация. Есть структура. car struct ...

Необработанное исключение по адресу 0x00105FD7 в Динамические структуры: 0xC0000005: нарушение прав доступа при чтении по адресу 0xCDCDCE09
Необработанное исключение по адресу 0x00105FD7 в Динамические структуры.exe: 0xC0000005: нарушение...

5
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
19.04.2012, 13:41 2
Объясните точнее, что Вы хотите сделать, ничего из выше написанного я не понял
0
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
19.04.2012, 13:54 3
Чем не нравится
C++
1
p[i].n_element
?
0
54 / 54 / 10
Регистрация: 26.09.2011
Сообщений: 186
19.04.2012, 13:56  [ТС] 4
Цитата Сообщение от Toshkarik Посмотреть сообщение
Объясните точнее, что Вы хотите сделать, ничего из выше написанного я не понял
В цикле фор необходимо заполнить элементы p[i]-структуры. Не придумал ничего лучшего, чем попытаться обратиться поадресно к каждому элементу. В обычном случае мне бы пришлось делать так:
C++
1
2
3
4
5
6
for(int i=0;i<n;i++)
{
cin>> p[i].f_element;
cin >> p[i].s_element;
....
}
Если у меня добавляется ещё один элемент в структуру, мне придется вернуться в этот цикл и добвать ещё одну запись для заполнения p[i].n_element-а и увеличить число n на единицу. Я хочу сделать так, чтобы убрать "." и имя элемента. Т.е. обратиться по адресу к конкретному элементу и записать туда значение, после чего перейти к следующему элементу путем увеличения адреса на соответствующее число байт и проделать тоже самое.
0
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
19.04.2012, 14:00 5
Встречный вопрос. Какой тип имеют f_element, s_element ... ?
Если одинаковый, почему бы не сделать из них массив?
1
54 / 54 / 10
Регистрация: 26.09.2011
Сообщений: 186
19.04.2012, 14:16  [ТС] 6
Цитата Сообщение от Байт Посмотреть сообщение
Встречный вопрос. Какой тип имеют f_element, s_element ... ?
Если одинаковый, почему бы не сделать из них массив?
это указатели на тип char...
А хорошая идея ) Сейчас попробую

Добавлено через 13 минут
Цитата Сообщение от Байт Посмотреть сообщение
Встречный вопрос. Какой тип имеют f_element, s_element ... ?
Если одинаковый, почему бы не сделать из них массив?
Спасибо. Это именно так, как я и хотел
0
19.04.2012, 14:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.04.2012, 14:16
Помогаю со студенческими работами здесь

Обращение к элементам
Мне надо создать в форме переменное кол-во элементов (textBox) что я сделал без проблем. В цикле...

Обращение к элементам
Всем доброго времени суток! У меня такая проблема возникла: не могу из одной формы изменить...

Обращение к записи (record) по ее адресу
Здравствуйте, уважаемые форумчане. Писал программу с использованием списков для хранения данных: в...

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

Обращение к IP адресу POST запросы
Добрый день. мне нужно написать приложение, которое будет обращаться к некому адресу...

Обращение по адресу в сегмент данных
вообщем решаю такую задачу Последовательность из 5 чисел (байт), размещённых в сегменте данных,...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru