top有什么区别吗?
这要从C语言的变量与指针这两个概念说起。
在C语言中每个变量都有一种类型,比如基础变量char, int, long, float等,还有表示复杂数据的结构体和联合体。结构体和联合体是一种递归定义的数据类型,但是最终还是由基本类型定义。
那么问题来了,对于基本的数据类型,直接使用变量名就可以访问,但是对于这些复杂结构,该如何访问他们的成员变量,这个时候就需要一种机制,于是
s.top
这种访问方式就出现了。但是还有一个问题,一个变量可以用实例来定义并访问,也可以通过指针来定义访问,于是针对访问指针类型的结构体或联合体的成员,s->top就出现了。
其功能类似,只是一个用于实例变量,一个用于指针。当然,对于实例变量也可以这样访问(&s)->top;同理,对于指针你也可以这样(*s)
.top
。从语法上来说都没有错,只是简单问题复杂化,一般不这样用罢了。区别,top有什么区别吗">
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有