Кажется, что моя программа аварийно завершает работу в этой строке, где я выполняю некоторую побитовую операцию с массивом «a», заполненным значениями NULL (пустой массив), это может быть причиной сбоя программы?
const unsigned char a [ something ];
int b;
b = (a[0] & 0x0f) << 8;
Нет, код ниже
const unsigned char a [ something ];
int b;
b = (a[0] & 0x0f) << 8;
сам по себе не может вызвать сбой вашей программы. Что-то еще не так с вашим кодом.
Других решений пока нет …