🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# C++ 结构指针 > 原文: [https://www.programiz.com/cpp-programming/structure-pointer](https://www.programiz.com/cpp-programming/structure-pointer) #### 在本文中,您将找到相关的示例,这些示例将帮助您使用指针来访问结构中的数据。 不仅可以为本地类型(`int`,`float`,`double`等)创建[指针](/cpp-programming/pointers "C++ pointers")变量,还可以为用户定义的类型(例如[结构](/cpp-programming/structure "C++ structures"))创建变量 ]。 如果您不知道什么是指针,请访问 [C++ 指针](https://www.programiz.com/cpp-programming/pointers)。 这是如何为结构创建指针: ```cpp #include <iostream> using namespace std; struct temp { int i; float f; }; int main() { temp *ptr; return 0; } ``` 该程序创建类型结构为`temp`的指针`ptr`。 * * * ## 示例:结构指针 ```cpp #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; } ``` **输出** ```cpp Enter feet: 4 Enter inch: 3.5 Displaying information. Distance = 4 feet 3.5 inches ``` 在该程序中,定义了类型结构为`Distance`的指针变量`ptr`和普通变量`d`。 变量`d`的地址存储到指针变量,即`ptr`指向变量`d`。 然后,使用指针访问变量`d`的成员函数。 **注意**:由于指针`ptr`指向此程序中的变量`d`,因此`(*ptr).inch`和`d.inch`是完全相同的单元格。 同样,`(*ptr).feet`和`d.feet`是完全相同的单元格。 使用指针访问成员函数的语法很丑陋,还有更常见的替代符号`->`。 ```cpp ptr->feet is same as (*ptr).feet ptr->inch is same as (*ptr).inch ```