The_Unknown_Member Ответов: 2

Можете ли вы объяснить мне указатели на структуру в C++ ?


#include <iostream>
using namespace std;

struct Distance
{
    int feet;
    float inch;
};

int main()
{
    Distance *ptr, d;

    ptr = &d;
    
    cout << "Enter feet: ";
    cin >> (*ptr).feet;
    cout << "Enter inch: ";
    cin >> (*ptr).inch;
 
    cout << "Displaying information." << endl;
    cout << "Distance = " << (*ptr).feet << " feet " << (*ptr).inch << " inches";

    return 0;
}


Может ли кто-нибудь объяснить мне, как, когда у меня есть указатель, который указывает на адрес переменной d, и после этого, как я могу после отсрочки указателей получить доступ к членам структуры ?

Что я уже пробовал:

-#-#-#-#-#-#-#-#--#-#-#-#-#-#-#-#--#-#-#-#-#-#-#-#-

W∴ Balboos, GHB

Что вы пробовали:
-#-#-#-#-#-#-#-#--#-#-#-#-#-#-#-#--#-#-#-#-#-#-#-#-
Надо было попробовать:
о?о?о?о?о?о?о?о?о?о?о?о?о?о?о?о?о?о?о?о?о?о?о?о?о?о
или даже
<=><=><=><=><=><=><=><=><=><=><=><=><=><=><=><=><=>
или, может быть, даже смайлики!

jeron1

Может быть, я немного не уверен в вашем вопросе c-что означает "разыменование" указателя?[^] будет способствовать.

2 Ответов

Рейтинг:
2

Patrice T

Указатели - одна из самых сложных частей языка Си / Си++. Я рекомендую прочитать книги здесь после. Не пропускайте шаги, пока вы изучаете C / C++.

Вот ссылки на справочники книг по С и с++ авторов этих языков. Обратите внимание, что C является предком C++, поэтому знание C всегда полезно с C++.
Язык программирования Си - Википедия, свободная энциклопедия[^]
https://hassanolity-да.files.wordpress.com/2013/11/the_c_programming_language_2.pdf[^]
http://www.ime.usp.br/~ПФ/Керниган-Ритчи/с-Программирование-электронные книги.формат PDF[^]

Язык Программирования C++ [^]


Рейтинг:
1

W∴ Balboos, GHB

А теперь реальный ответ:

так как d является указателем:
ptr - & gt;ноги
ptr - & gt;дюйм

Если бы ptr был не указателем, а объявлением типа расстояния
ПТР.ноги
ПТР.дюймов