结构体指针

结构体指针的定义与使用

当一个指针变量用来指向一个结构体变量时,称为结构体指针变量。
结构体指针变量的值是所指向的结构体变量的起始地址。
通过结构体指针即可访问该结构体变量,这与数组指针的情况相同。
结构体指针变量定义的一般形式:

结构体名 *结构体指针变量名

当然也可以在定义结构体的同时定义这个结构体指针变量。
例如:

struct Student{
    sting name;
    char sex;
    double score;
} *p;

也可以写成。

struct Student{
    sting name;
    char sex;
    double score;
};
Student *p;

注意:
与所有类型的指针变量相同,结构体指针变量也必须要赋值后才能使用。
赋值是把结构体变量的首地址赋予该指针变量,不能把结构体名赋予该指针变量。
例如:
如果p是被定义为Student类型的结构体指针变量,boy是被定义为Student类型的结构体变量。则:p = &boy是正确的,而p = &Student是错误的。

使用结构体的成员变量。

应用结构体指针变量指向的结构体变量的成员的方法如下:

  • 指针名->成员名
  • (*指针名).成员名
    例如:
cout<<(p->score)<<endl;
cout<<(*p).score<<endl;
posted @ 2022-10-14 18:50  程易。  阅读(436)  评论(0)    收藏  举报