Penguin

Differences between version 5 and predecessor to the previous major change of Pointer.

Other diffs: Previous Revision, Previous Author, or view the Annotated Edit History

Newer page: version 5 Last edited on Tuesday, October 21, 2003 11:17:05 am by StuartYeates Revert
Older page: version 3 Last edited on Saturday, September 13, 2003 2:22:34 am by AristotlePagaltzis Revert
@@ -4,4 +4,6 @@
  
 [Pointer]s also break type safety. Many ProgrammingLanguages attempt to alleviate this by requiring you to use a different type of [Pointer] for each kind of DataType you want to point to. 
  
 Nowadays, if you aren't writing a kernel or hardware driver, you should be using a ProgrammingLanguage that has GarbageCollection and frees you from the arduous task of keeping track of your memory. 
+  
+Ignoring complete hacks, pointers are always of a fixed size and the size (or width) of a pointer controls how much memory ([RAM]) can be addressed. There are [16bit], [32bit] and [64bit] address spaces in wide use, plus smaller address spaces for use in small embedded devices. When using pointers the address space appears as a huge array of size 2^n bytes. Not all of the address space is addressable (for example in [C]/[C++] [NULL] maps to the pointer 0x00000000 (on most hardware anyway) which is not addressable. Other areas of the address space may me mapped to [DMA] devices and other things, such as the system clock (see mmap(2)).