C++ 彻底搞懂指针(4)

1. 结构体指针

1.1 定义一个结构体指针

当一个变量指向结构体时,就称它为结构体指针。举个例子:

 

typedef struct

{

    uint8_t age;

    const char *name;

}StudentInfo;

 

int main()

{

    StudentInfo Info;            //结构体变量

    StudentInfo *pInfo = &Info;  //结构体指针

    Info.age = 15;

    Info.name = "liangchen";

    ......

    return 0;

}

需要注意的是,结构体变量名和数组名不一样,数组名在表达式中会被转换为一个指针常量,结构体变量名不会,在任何地方结构体变量名都表示整个集合本身,要想取得结构体的地址,必须在前面加 & 才行。

结构体和结构体变量是两个不同的概念。

结构体是一种数据类型,这种数据类型有我们自己来定义,编译器不会为它分配内存空间,就像下面这样,我们定义了一种 StudentInfo 的数据类型,就和 int 、float、char一样,是一种数据类型。

 

typedef struct

{

    uint8_t age;

    const char *name;

}StudentInfo;

结构体变量才是实实在在的数据,需要内存存储数据,比

  • 12
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值