2015-06-26 3 views
-3

У меня вопрос о структурах и указателях C++.C++ разыменование указателя на структуру

Итак, скажем, я определяю структуру, называемую «информация». Эта структура имеет член, называемый «состояние».

Теперь предположим, что я объявляю экземпляр «info», и тогда я объявляю указатель типа «информация». Если бы я только хотел работать с указателем, как бы я пошел о разыменовании структуры, чтобы я мог изменить значение «состояния»?

Например:

info instance; 
info * pointer = &instance; 

//Want to change the value of 'state' to 23 

*pointer.state = 23; 

// or 

*(pointer).state = 23; 

// or 

*(info.currentState) = 23; 

либо из этих случаев работать?

+1

... вы пробовали какие-либо из них? – nneonneo

+0

# 03! ??? Вы пытаетесь разыменовать тип И вы меняете другой член структуры. –

+0

Простой поиск в Google выявит многочисленные уроки и примеры. Я настоятельно рекомендую вам это сделать, прежде чем публиковать такие вопросы. Также есть онлайн-компиляторы C++ и IDE для оценки ваших ответов. Идите вперед и попробуйте это в первую очередь. – shark1608

ответ

6

Вы можете использовать (*pointer).state = 23; но предпочтительный метод pointer->state = 23;

В основном, когда вы ссылаетесь публичным переменным из структуры или класса обозначение object.item или pointerToObject->item

Стрелки обозначения автоматически ДЭ-ссылка на указатель для вас.

Смежные вопросы