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)).