c语言大神进。c语言指针问题。
展开全部
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而要加括号。为了简化书写,定义了新的符号->专门用于通过指针来访问结构体变量。
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而要加括号。为了简化书写,定义了新的符号->专门用于通过指针来访问结构体变量。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询