C++指向结构体变量的指针

C++通过指向结构体变量的指针引用结构体变量中的成员

C++中,一个结构体变量的指针就是该变量所占据的内存段的起始地址,指针变量也可以用来指向结构体数组中的元素。

C++提供了指向结构体变量的运算符->,例如:

p->num;//表示指针p当前指向的结构体变量中的成员num

p->num 和(* p).num 等价,同样,p->namep->name等价于(*p).name。

在C++中,以下3种形式等价:

  1. 结构体变量.成员名,如stu.num。
  2. (*p).成员名,如( *p).num。
  3. p->成员名,如p->num,->称为指向运算符。
p->n;//得到p指向的结构体变量中的成员n值。
p->n++;//得到p指向的结构体变量中的成员n的值,用完该值后使它加1。
++p->n;//得到p指向的结构体变量中的成员n的值,并使之加1,然后再使用它。

经典案例:C++指向结构体变量的指针。
#include<iostream>//预处理
using namespace std;//命名空间 
int main()//主函数 
{
    
    
  struct Student{
    
     //自定义结构体变量 
    int num;//学号 
    char sex;//性别 
    int age;//年龄 
  };
  Student stu;//定义Student类型的变量stu 
  Student *point=&stu;//定义point为指向Student类型数据的指针变量并指向stu 
  stu.num=1001;//赋值 
  stu.sex='M';//赋值 
  stu.age=21;//赋值 
  cout<<stu.num<<endl;//输出学号 
  cout<<stu.sex<<endl; //输出性别
  cout<<stu.age<<endl; //输出年龄 
  cout<<"--------"<<endl; 
  cout<<(*point).num<<endl;//输出学号
  cout<<(*point).sex<<endl;//输出性别
  cout<<(*point).age<<endl;//输出年龄 
  return 0; //函数返回值为0;
}

编译运行结果:

1001
M
21
--------
1001
M
21

--------------------------------
Process exited after 0.08501 seconds with return value 0
请按任意键继续. . .

C++指向结构体变量的指针
更多案例可以go公众号:C语言入门到精通

猜你喜欢

转载自blog.csdn.net/weixin_48669767/article/details/112002047