c语言大神进。c语言指针问题。

 我来答
蛮小夜11195
2015-10-09 · TA获得超过332个赞
知道答主
回答量:194
采纳率:96%
帮助的人:50.7万
展开全部
p=p->length这句话本身并没有意义,甚至在一些编译器中可能会有语法错误。
p->length即访问p所指向结构体中的length。类比于一个结构体变量s。s.length是一样的功效。只不过p是指针的时候,需要用->来表示访问,而不能直接用.来访问。
length本身什么含义要根据你的实际用途来说。但是根据起名字要表达语义这点,一般length表示长度。所以这里的length很有可能表示你的那个Elem类型数组中元素的个数,即数组已使用部分的长度。
p->length++就是对p所指向的结构体中的length进行自加1运算。
补充:
p->length和(*p).length是等价的意思。
因为.是结构体变量访问其中成员的符号,p是结构体的指针,*p才是结构体。又因为.的运算级高,所以不能直接写*p.length而要加括号。为了简化书写,定义了新的符号->专门用于通过指针来访问结构体变量。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式