How does a program/application know that the data in a memory address is of a certain data type.
For instance, suppose there is int a; and suppose variable
int a;
This information is not stored. For example, you could do things like
int i=15; char *p=(char*)&i; char c=*p; //Now, c contain the first byte of 15, which may be 15 or 0
But don't do this unless you really know what do you do. Do stuff like this uncarefully is a common way to errors.