Pole bitowe (bit field)
Sposób C na nazwanie pojedynczych bitów liczby całkowitej wewnątrz struktury — przyjemny w czytaniu, ale niemal całkowicie nieokreślony co do tego, jak trafia do pamięci.
Zapis unsigned ready : 1; sprawia, że składowa struktury ma szerokość jednego bitu, więc reg.ready = 1 wygląda jak zwykłe przypisanie. Kusi to przy opisie rejestru sprzętowego. Haczyk w tym, że standard zostawia kompilatorowi kolejność bitów, wypełnienie i jednostkę przechowywania, więc ta sama struktura może wyglądać inaczej w różnych kompilatorach albo na architekturach o odmiennej kolejności bajtów.
Każdy zapis to ponadto odczyt–modyfikacja–zapis, który może zatrzeć bity statusu kasowane przy odczycie. Dlatego CMSIS i większość nagłówków producentów używa masek i przesunięć, a MISRA C mocno ogranicza pola bitowe.