1. A method of computer memory protection using tagged architecture comprising, indicating freed memory by tagging it with an uninitialized tag; providing a unique tag for each field of a structure in a memory array; initializing a tag on a pointer with an initial value; providing a matching tag for each pointer used to point to each field of a structure in the memory array; and preventing unauthorized access beyond a field in a structure by comparing the unique tag on each field of a structure to the tag of the pointer that is used to access the field.