ここにサンプルコードがあります:
unsigned char *m_fbytes;
m_fbytes = (unsigned char*)malloc(m_iByteLen1FrameDecoded*sizeof(short));
int err;
err = fread(m_fbytes, sizeof(short), 960, fin);
curr_read = err;
for(int i=0;i<curr_read;i++)
{
opus_int32 s;
s=m_fbytes[2*i+1]<<8|m_fbytes[2*i];
s=((s&0xFFFF)^0x8000)-0x8000;
m_in[i]=s;
}
int iLen = encode(m_enc, m_in, m_iByteLen1FrameDecoded, m_data, m_max_payload_bytes);
この行がわかりません:
err = fread(m_fbytes, sizeof(short), 960, fin);
このコードの作成者は、いくつかのバイト (別名 unsigned char) を読み取りますが、sizeof(short) を渡します。
彼らはなぜ「sizeof(short)」を使うのですか?