Christopher said:
Memory management is not an advanced topic. If you can't handle
malloc() and free(), find another language.
Seems overly harsh. There can be interesting memory managment
issues such as reference counting, garbage collection, tools
for analyzing memory usage/corruption/etc, overriding/replacing
library *alloc/free, writing and using your own memory management
scheme, etc. Some of which are on topic here, some not.
As for the OP, I don't have any references handy, sorry.
But it is a perfectly fine question. For the machine interaction part,
you might ask in groups dedicated to your target platform(s) and
get some good pointers there. I don't think interaction with the
hardware via "C" is a generic/portable enough question to get useful
responses in comp.lang.c.
-David