可能的重复: 之间有区别。和。 ?
假设我有这样的结构:
struct movies { string title; int year; } my_movie, *ptrMovie;现在我访问 my_movie code> my_movie.year = 1999; 现在访问指针我必须这样做: ptrMovie-> year = 1999;
Now I access my_movie like this: my_movie.year = 1999; Now to access a pointer I must do this: ptrMovie->year = 1999;
为什么指针使用 - > 运算符,正常的数据类型使用。运算符?是否有任何原因,他们不能使用。运算符?
Why do pointers use the -> operator and normal data types use the . operator? Is there any reason they couldn't both use the . operator?
推荐答案The。操作符访问结构的成员,并且只能对结构变量进行操作。 如果你想做一个指针,你首先需要解引用指针(使用 * )然后访问成员(使用。)。像
The . operator accesses a member of a structure and can operate only on structure variables. If you want to do this to a pointer, you first need to dereference the pointer (using *) and then access the member (using .). Something like
(*ptrMovie).year = 1999- > 运算符是对此的简写。
The -> operator is a shorthand for this.
更多推荐
为什么指针使用
发布评论