指向结构体成员运算符 : (->) 从外部看是包含了一个解指针(*)所以要对指针进行操作
例如:
typedef struct
{
int data[20]
int length
}Sqlist
Sqlist
*L
L->lenth
//同样是得到L中length的值
结构体成员运算符 : ( . )直接调用结构体中的某个成员
例如:
typedef struct
{
int data[20]
int length
}Sqlist
Sqlist L
L.length //直接调用L中length的值
L.data[3]
扩展资料:
结构体成员的点运算符(.)和箭头运算符(->)的区别:
相同点:两个都是二元操作符,其右操作符是成员的名称。
不同点:点操作符左边的操作数是一个“结果为结构”的表达式;箭头操作符左边的操作数是一个指向结构的指针。
如果一个函数的传入参数是结构体,且需要该结构体作为返回值的时候,必须采用指针传递的方式,其中对结构体赋值必须使用箭头运算符。
参考资料:
百度百科-->
菜鸟教程-C++ 运算符
我就用自己的理解给你讲一下吧
指针其实就是指向一个变量的变量,具体的说,一个指针它里面保存的是一个变量的地址,而一般的变量保存的是数据,所以指针它的本质也是变量.
指向指针的指针就是一个指针它指向另外一个指针变量,它保存的是另外一个指针的地址,指向指针的指针其实和一般的指针没什么两样,只是它保存的是另一个指针,一般的指针保存的是地址,指向指针的指针访问数据时是间接访问,是通过它保存的指针来进行访问,比一般的指针多了一个中间量,它可以进行**P的运算,而一般的指针的运算为*p,
不知道我的表达能力如何???
如有不懂,请给我发消息