首页 理论教育 指针指向C语言结构体

指针指向C语言结构体

时间:2023-11-23 理论教育 版权反馈
【摘要】:注意在使用指向结构体的指针引用结构体成员时,由于“.”优先级高于“*”,所以*p两边的括号不能省略,应写成(*p).num。图8-4指向结构体的指针p指向一个结构体,其中共有三个成员,用“p->num”的形式引用其中的成员,使用起来更直观、方便。p是指向结构体变量的指针,三种方式等价。

指针指向C语言结构体

一个结构体变量在内存中分配一段连续的内存以存放其成员,这段内存的起始地址就是结构体变量的指针,可以用一个指针变量来保存结构体变量的地址,这就是指向结构体的指针,其定义形式一般为:

结构体类型名*指针变量名;

指向结构体的指针,其定义方法和引用方法同前边所学一样,请看下例。

【例8-4】用指向结构体的指针输出结构体变量的成员。

程序中指针变量p指向student类型,可以保存student类型变量的地址。执行p=&s语句后,p指向s,此时*p即为s的间接引用形式,因此二者输出是一致的。这和前边所学习的指针使用方法完全一致。

注意在使用指向结构体的指针引用结构体成员时,由于“.”优先级高于“*”,所以*p两边的括号不能省略,应写成(*p).num。

为了方便使用,C语言中专门引入了一个指向运算符“->”,该运算符只能用于指向结构体变量的指针,(*p).num等价于p->num,读作“p指向的num成员”,这种使用方法更直观,如图8-4所示。

(www.xing528.com)

图8-4 指向结构体的指针

p指向一个结构体,其中共有三个成员,用“p->num”的形式引用其中的成员,使用起来更直观、方便。

由此,引用一个结构体变量的成员时,共有三种方法:

(1)结构体变量名.成员名。

(2)(*p).成员名。

(3)p->成员名。

p是指向结构体变量的指针,三种方式等价。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈