编辑这个页面须要登录或更高权限!
在本文中,您将找到相关的示例,这些示例将帮助您使用指针来访问结构中的数据。
指针变量不仅可以为本机类型(int、float、double等)创建,还可以为用户定义的类型(如结构体)创建。
如果您不知道什么是指针,请访问C ++指针。
这是创建结构体指针的方法:
#include <iostream> using namespace std; struct temp { int i; float f; }; int main() { temp *ptr; return 0; }
这个程序创建一个结构类型为temp的指针ptr。
#include <iostream> using namespace std; struct Distance { int feet; float inch; }; int main() { Distance *ptr, d; ptr = &d; cout << "输入英尺: "; cin >> (*ptr).feet; cout << "输入英寸: "; cin >> (*ptr).inch; cout << "显示信息" << endl; cout << "距离 = " << (*ptr).feet << " 英尺 " << (*ptr).inch << " 英寸"; return 0; }
输出结果
输入英尺: 4 输入英寸: 3.5 显示信息 距离 = 4 英尺 3.5 英寸
该程序定义了结构体类型的Distance,拥有指针变量*ptr和普通变量d。
变量d的地址存储在指针变量中,即ptr指向变量d,然后使用指针访问变量d的成员函数。
注意:由于指针ptr在此程序中指向变量d,因此(* ptr).inch和d.inch是完全相同的单元。 同样,(* ptr).feet和d.feet是完全相同的单元。
使用指针访问成员函数的语法很丑陋,但是还有一种更常见的代替符号->。
ptr->feet 等同于 (*ptr).feet ptr->inch 等同于 (*ptr).inch