前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C++指向结构体变量的指针

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

原创
作者头像
小林C语言
修改2020-12-31 16:22:06
2.8K0
修改2020-12-31 16:22:06
举报

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

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

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

代码语言:javascript
复制
p->num;//表示指针p当前指向的结构体变量中的成员num

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

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

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

经典案例:C++指向结构体变量的指针。

代码语言:javascript
复制
#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;
}

编译运行结果:

代码语言:javascript
复制
1001
M
21
--------
1001
M
21

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

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

更多案例可以go公众号:C语言入门到精通

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档