Penguin

Differences between version 5 and previous revision of Pointer.

Other diffs: Previous Major 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 4 Last edited on Tuesday, October 21, 2003 10:24:14 am by StuartYeates Revert
@@ -5,5 +5,5 @@
 [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. 
+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))