- ->是C语言和C++语言的一个运算符,叫做指向结构体成员运算符,用处是使用一个指向结构体或对象的指针访问其内成员。
- 一个指针当用来指向一个结构体、对象时,称之为结构体指针或对象指针。结构体指针或对象指针中的值是所指向的结构体或对象的首地址。通过结构体指针或对象指针即可访问该结构体或对象。
结构体指针变量定义的一般形式为:
struct 结构体类型名 *指针名;
struct 结构体类型名 *指针名 = &一个结构体的名字;
struct 结构体类型名 *指针名 = new struct 结构体类型名;
struct 结构体类型名 *指针名 =(struct 结构体类型名 *)malloc(sizeof(struct 结构体类型名))
对象指针变量定义的一般形式为:
类名 *指针名;
#include <iostream>
#include <string>
using namespace std;
class C
{
public:
int num = 5;
string name = "Tony";
};
int main(void)
{
C obj;
C *p = &obj;
p->num;
p->name;
cout << p->num << p->name << endl;
return 0;
}
example1的运行结果:5Tony
例如定义Student *p;
接下来就可以将一个同类型的类对象地址赋值给这个指针,然后通过->来访问对象中的成员。
Student *p;
Student A;
p = &A;
p->print();