配列の一部を配列にコピーする

ee9king に投稿
フォーラム
const unsigned char Tahoma8x8[864] = {
0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // Code for char 
0x02, 0x00, 0xBF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,  // Code for char !
0x03, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00,  // Code for char "
0x07, 0x20, 0xE4, 0x3C, 0xE7, 0x3C, 0x27, 0x04, 0x00,  // Code for char #

unsigned char buf1[8];
memcpy( buf1 , &Tahoma8x8[ ((moji-32)*9)+1 ] , 8);

次でもうまくいくみたい。

unsigned char* buf1a;
buf1a = &Tahoma8x8[ ((moji-32)*9)+1 ];

代入式では、左辺は必ず変数である。配列の[]なしは配列の先頭アドレスを示しているが変数でないため、

unsigned char buf1[8];
buf1=&Tahoma8x8[ ((moji-32)*9)+1 ];

では、コンパイルエラーになる。

なかなかわかんなかった。