C++结构体与指针

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

typedef int  size_i;

则此时size_i就是int的别名。typedef并不创建新的类型。仅为现有类型添加一个同义字。可以在需要int的上下文中使用size_i.

1.2: typedef与struct结合使用:

typedef struct tagMyStruct

{

int iNum;

long lSize;
} MyStruct, *pMyStruct;

这段代码完成由两个操作组成:

动作一:

struct tagMyStruct

{

int iNum;

long lSize;

};

定义了一个新的结构体类型。

tagMyStruct称为“tag”,即“标签”,实际上是一个临时名字,struct关键字和tagMyStruct一起,构成了这个结构类型,不论是否有typedef,这个结构都存在。

用struct tagMyStruct varName来定义变量,但要注意,使用tagMyStruct
varName来定义变量是不对的,struct 和tagMyStruct合在一起才能表示一个结构类型。

动作二:

使用typedef为这个结构体起了个新别名。

typedef struct tagMyStruct MyStruct;

typedef struct tagMyStruct *pMyStruct;

因为MyStruct 是struct tagMyStruct的别名。 可以直接使用MyStruct来定义变量。

如: MyStruct
varName;

C语言允许在结构中包含指向它自己的指针,但上述代码的根本问题在于typedef的应用。代码分两个过程:结构体的定义,结构体的新命名


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

下面通过一个简单例子来说明指向结构体变量的指针变量的应用。

【例7.3】指向结构体变量的指针的应用。

    
    
    
  1. #include <iostream>
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值