你会如何重写这个结构指针?

时间:2015-08-18 09:58:03

标签: c++ pointers struct

如何使用结构指针运算符->重写以下语句:

*(*strPtr).num = 10

我对这甚至代表什么感到困惑。这是一种双指针吗?

3 个答案:

答案 0 :(得分:4)

结构可能看起来像

struct str { int* num; };

strPtr声明为

str* strPtr;

您的代码将10存储在num所指向的strstrPtr指向的位置。

可以改写为

*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;

考虑到后缀运算符->.的优先级高于一元运算符*