取变量还是取地址

c++中定义了->运算符,该运算符是把解引用成员访问两个操作结合在一起。即it->men(*it).men的含义相同。

因此注意区分:
对数组:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

struct str_t
{
long long len;
char data[32];

};
struct data1_t
{
long long len;
char data1[2]
int *data2[2];
};

struct str_t str;
memset((void*)&str,0,sizeof(struct str_t));
str.len=sizeof(struct str_t)-sizeof(int);

struct data_t *pData=(struct data1_t*)&str;
(char*)pData->data[0];

(char*)pData->data[0];//**这个是地址**