Определяет "sram" как указатель на память, начинающуюся с нуля. Вы можете получить доступ к памяти через указатель, например, sram [0] - это нулевой адрес, sram [1] - это содержимое по первому адресу и т. д.
В частности, он преобразует 0 в указатель на массив беззнаковых символов и проходит через него косвенно (оставляя массив беззнаковых символов).
Аналогичный результат можно получить с помощью
#define sram ((unsigned char*)0)
Это также совершенно не определено в стандарте C, но это не мешает людям использовать его и заставлять ангелов вылетать из их пупка.