How many different memory frames are there to a program when it is executed and what are they? I'm well aware of the stack and heap, but I've often heard of internal string tables and internal registries, among other things. How and where are constants stored? I've searched high and low on Google, but I'm not finding anything relevant to what I'm looking for. Can any of the experts on here provide some insight?