構造体とバイト配列を共用体で結合したいと考えています。コンパイラは gcc です。
以下は、32 ビット組み込みコントローラー (AVR) の適切な/保存コードと見なされますか? バイト アラインメントについて心配する必要はありますか?
#include <stdint.h>
typedef int8_t S8;
typedef union {
struct {
S8 a;
S8 b;
S8 c;
S8 d;
S8 e;
};
S8 array[5];
} s_t;
初期化:
s_t s = {.array = {0, 0, 0, 0, 0}};
アクセス:
s.a = 50;
s.c = 42;