И по макросам если упарываешься, полезно будет либо суметь
напечатать значение макроса http://caxapa.ru/1009345/либо посмотреть глазами препроцессированный c-файл, это можно либо указанием ключа компилятора, либо в случае gcc тулчайна отдельно запустить препроцессор, ибо он идет отдельной программой (и в оригинале у K&R так и было, ни у кого не было столько памяти чтобы делать сразу, всё делалось по шагам).
(а вот пресловутая Atollic True Studio о которой я тебе жужжал, умеет в редакторе при наведении мышкой полностью раскрывать макросы и показывать тебе текущее значение макроса).