我可以假设 C/C++ 结构指针总是指向第一个成员吗?
示例 1:
typedef struct {
unsigned char array_a[2];
unsigned char array_b[5];
}test;
//..
test var;
//..
在上面的例子中 &var 是否总是指向 array_a?同样在上面的示例中,是否可以将指针转换为 unsigned char 指针并分别访问每个字节?
示例 2:
function((unsigned char *)&var,sizeof(test));
//...
//...
void function(unsigned char *array, int len){
int i;
for( i=0; i<len; i++){
array[i]++;
}
}
这会正常工作吗?
注意:我知道字符在结构中是字节对齐的,因此我假设上述结构的大小为 7 个字节。