A block of working memory reserved for use by programs as they request an allocation. The programs request and release memory from the heap as they go, and where specific data will end up in the heap is unpredictable.
Inside the Internet of Things - Bryon Moyer Blog