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バイトであると想定しています。