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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.62
Виктор_Сен
33 / 26 / 1
Регистрация: 01.08.2011
Сообщений: 176
#1

Смещение полей структуры - C++

18.12.2011, 15:37. Просмотров 1826. Ответов 5
Метки нет (Все метки)

Как можно узнать смещение поля структуры относительно адреса структуры? Если просто сложить размеры предыдущих элементов, то результат может оказаться неправильным из-за выравнивания. Если взять адрес поля и вычесть из него адрес начала структуры, то это можно сделать только на этапе исполнения. Может есть другой способ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2011, 15:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Смещение полей структуры (C++):

Не очевидное смещение к полям структуры - C++
Доброе время суток! Столкнулся с непонятным мне вопросом... у меня есть структура: struct A { uint16_t x; uint32_t y; }

Структуры, нумерация полей структуры - C++
Добрый день, у меня есть задачка, она решена. Но меня попросили "предусмотреть нумерацию полей структуры, например 1)Имя:Петр и тд."....

Заполнение полей структуры - C++
Нужна ваша помощь! Нужно считать файл и записать в массив. Потом из этого массива надо раскидать значения по полям структуры. Как это...

Заполнение полей структуры - C++
Подскажите, в чем ошибка. #include "stdafx.h" #include <stdio.h> struct sign { char Lastname; char Firstname; char...

Инициализация полей структуры из файла - C++
Помогите, пожалуйста, разобраться с файлами. Имеется такая структура: enum Pos {director = 1, manager, bookkeeper, secretary,...

Вывод на экран полей структуры - C++
есть структура и функция которая считывает данные из файла и заносит в структуру, но структура передается в функцию через вектор и вывод :...

5
kisssko
31 / 31 / 2
Регистрация: 19.12.2011
Сообщений: 72
19.12.2011, 06:53 #2
http://lmgtfy.com/?q=offsetof http://en.wikipedia.org/wiki/Offsetof
1
GoldenId
126 / 124 / 32
Регистрация: 11.11.2010
Сообщений: 699
Записей в блоге: 13
Завершенные тесты: 1
29.01.2014, 12:26 #3
0
alsav22
5421 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
29.01.2014, 18:07 #4
Цитата Сообщение от Виктор_Сен Посмотреть сообщение
Как можно узнать смещение поля структуры относительно адреса структуры?
Для чего? Есть указатели на поля, которые, обычно, реализуются как смещения относительно адреса структуры.
1
Виктор_Сен
33 / 26 / 1
Регистрация: 01.08.2011
Сообщений: 176
27.02.2014, 16:22  [ТС] #5
Цитата Сообщение от alsav22 Посмотреть сообщение
Для чего? Есть указатели на поля, которые, обычно, реализуются как смещения относительно адреса структуры.
Ну Вы конечно верное время выбрали, когда отвечать. Как говорится, поздно батенька. Поезд ушёл. Вопрос когда был задан? В 2011 году. Я тогда ещё только начинал разбираться с азами программирования. И сейчас, если мягко сказать, это проблемы уже давным-давно не актуальны. Я даже сейчас не помню, что я тогда делал, и зачем мне это нужно было. Скорее всего это было под пивко... главное, что та проблема была решена...
0
alsav22
27.02.2014, 18:53     Смещение полей структуры
  #6

Не по теме:

На дату не посмотрел (или дата последнего поста сбила). Тут такое бывает.

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.02.2014, 18:53
Привет! Вот еще темы с ответами:

Чтение из файла полей структуры - C++
есть файл в котором есть таблица с данными, вывод в файл идет с помощью вот такой функции : void FileOutput(char* d) { dish* p=head; ...

Изменить одно из полей структуры - C++
Пользователь вводит с клавиатуры день рождения(напр 15) Внутри структуры изменить 15 на 1.И далее вывести на экран.

Сортировка разных полей структуры - C++
Сразу извиняюсь за кривой заголовок темы) В общем, появилась необходимость добавить сортировку в программу, использующую некий...

Расположение полей структуры в памяти - C++
Нифига себе на что плюсы способны... #include "stdafx.h" #include <time.h> #include <stdlib.h> #include <iostream> using...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
27.02.2014, 18:53
Ответ Создать тему
Опции темы

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