如何使用结构指针运算符->
重写以下语句:
*(*strPtr).num = 10
我对这甚至代表什么感到困惑。这是一种双指针吗?
答案 0 :(得分:4)
结构可能看起来像
struct str { int* num; };
将strPtr
声明为
str* strPtr;
您的代码将10
存储在num
所指向的str
中strPtr
指向的位置。
可以改写为
*strPtr->num = 10;
答案 1 :(得分:0)
像这样:
*strPtr->num = 10
答案 2 :(得分:0)
似乎相应的陈述看起来像
*strPtr->num = 10;
数据成员num
的类型为int *
例如
struct aStruct { int *num; } str;
str.num = new int;
aStruct *strPtr = &str;
*strPtr->num = 10;
或
*( *strPtr).num = 10;
考虑到后缀运算符->
和.
的优先级高于一元运算符*