设为首页 加入收藏

TOP

2.10.3 指向结构体的指针
2013-10-12 07:01:28 来源: 作者: 【 】 浏览:108
Tags:2.10.3 指向 结构 指针

2.10.3 指向结构体的指针

当一个指针用来指向一个结构体变量时,称之为结构体指针变量。结构体指针变量中的值是所指向的结构变量的首地址,通过结构指针即可访问该结构变量。这与数组指针和函数指针的情况是相同的。结构体指针变量定义的一般形式为:

  1. struct 结构类型名 *结构指针变量名 

例如,我们在2.12.1节中定义了struct address结构类型,如要定义一个指向该结构类型的指针变量pstu,可写为:

  1. struct address *pstu; 

当然也可在定义struct address结构类型时同时说明pstu。与前面讨论的各类指针变量相同,结构指针变量也必须要先赋值后使用。

赋值是把结构变量的首地址赋予该指针变量,不能把结构名赋予该指针变量。如果student1是被说明为struct address类型的结构变量,则:

  1. pstu = &student1; 

就是对结构指针进行赋值。有了结构指针变量,就能更方便地访问结构变量的各个成员。其访问的一般形式为:

  1. (*结构指针变量).成员名 

或者:

  1. 结构指针变量->成员名 

例如:

  1. (*pstu).name 

或者:

  1. pstu->name 

都是对student1 结构体的name成员的访问。

注意

(*pstu)两侧的括号不可少,因为成员符"."的优先级高于"*",如去掉括号写做*pstu.num则等效于*(pstu.num),这样,意义就完全不对了。

通过总结,不难发现,我们可以使用以下3 种方式访问结构体中的成员:一是结构变量.成员名;二是(*结构指针变量).成员名;三是结构指针变量->成员名。这3种用于表示结构成员的形式是完全等效的。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇2.8.4 常用字符串处理函数(1) 下一篇2.8.3 字符数组和字符串

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: