Topic: pointers to data

topics > computer science > data > Group: access to data

data structures
data value

access to objects by a path
binding names to variables or expressions
binding of names to objects
code optimization by flow analysis
dangling pointers
data alignment
flag computer
naming by pointing or recognition
object-oriented objects
parameter passing by reference
pointer machines
procedure valued variables
recursive data structures
ref_any or Object data type
safe use of pointers
shared objects
unique numeric names as surrogates
using an address as a name
using pointers in Thesa
variable as reference to a value
variable as reference to storage


A variable may point to a value's location. This assumes that pointers are themselves values. In 'von-Neumann' computers, a pointer is a value representing the address of a memory location. This concept is frequently supported in languages by an address operator and indirect content accessing. It can be used for multi-dimensional arrays, trees, current position, and recursive structures. Access paths frequently follow pointer links. Pointers can be incremented to process an array or vector of values. Pointers need a nil value to indicate 'no object'. (cbb 5/80)
Subtopic: object ID up

Quote: object IDs are logically nothing but pointers to objects
Quote: object IDs produce a pointer free-for-all as found in prerelational databases

Subtopic: pointer as reference up

Quote: a reference consists of a descriptive name, a target set (its qualification), and a target (its value or NONE) [»handP_1981]
Quote: in a flag computer, pointers would be flags that are pinned to other flags; move together [»hehnEC_1977a]
Quote: an object can not be dereferenced because the static type of an object does not determine the type of its data record
Quote: a reference value refers to an object belonging to a class or its subclasses; the value 'none' is permissible for any reference [»dahlOJ_1967]
Quote: generate an object by evaluating an object designator; returns a reference [»dahlOJ_1967]
Quote: 'this C' refers to the current instance (object) of class C or a subclass [»dahlOJ_1967]
Quote: a reference to a structure is a constant, its value; a reference to a reference is a variable, resolved to a constant [»edwaJ10_2005]
Quote: an L-value or location has a shape (its type) with links to its R-values; e.g., Cons type with Car and Cdr links [»straC8_1967]
Quote: pointers are R-values that point to L-values; the type of a pointer includes the type of the thing it points to; e.g., pointer to real [»straC8_1967]

Subtopic: address of data up

Quote: a location or L-value is an area of the store that has a content or R-value; change the R-value with an updating operation [»straC8_1967]
Quote: a fundamental property of successful computers is that memory is a sequence of words or bytes, addressed by integers [»koenA12_1995]
Quote: allocated C-- memory is referenced by immutable values of the native data-pointer type [»ramsN6_2000]
Quote: C-- identifies the native data-pointer and native code-pointer types
Quote: the address of x is the reference number of the storage location holding x
QuoteRef: wulfWA12_1971 ;;782 id's as literal addresses. .X is contents of x. ..X makes sense but not adr (adr (x))
QuoteRef: frieFL1_1974 ;;15 prefix operator loc and . for location of and indirect reference

Subtopic: value vs. reference up

Quote: no value shall possess an ID that is distinct from the value per se [»dateCJ_1998]

Subtopic: pointer analysis up

Quote: comprehensive study of pointer analysis algorithms [»hindM8_2000]
Quote: extended SSA numbering for indirect pointer references; requires pointer analysis and side-effect analysis; easy to add [»labkC3_1998]
Quote: use points-to analysis, connection analysis, and anchor handles to determine read/write sets for pointers; reduces memory references 7% to 35% [»ghiyR1_1998]
Quote: points-to analysis--for every dereference, determine a superset of the pointer's possible references [»dasM6_2000]

Subtopic: connection analyis up

Quote: connection analysis of heap pointers determines unrelated pointers; e.g., any operation on array A is distinct from operations on array B [»ghiyR1_1998]

Subtopic: pointer arithmetic up

Quote: a designator is an expression that denotes a variable or a variable's value; either readonly or writable
Quote: in C++, pointer arithmetic is defined only within an array; the difference of two pointers is the number of array elements between them [»stroB_1991]

Subtopic: array pointer up

Quote: compress pointer structures by replacing pointers with computed offsets; e.g., implicit heap [»chilTM12_2000]

Subtopic: pointer to data member up

Quote: use pointers to data members to express the layout of a C++ class in an implementation-independent manner [»stroB_1994]

Subtopic: chained access up

Quote: access remote data by a chain of pointers; e.g., ABC is the name of A->B->C [»knowK8_1966, OK]
Quote: use reference variables to refer to records and their fields; e.g., age(father(B)) is the age of B's father [»wirtN6_1966]

Subtopic: data structures up

Quote: data structures consist of templates of arbitrary elements (e.g., functions); implement with pointers [»hallJC5_1974, OK]
Quote: use reference types to link records into structural networks of any desired complexity [»wirtN6_1966]
Quote: use references to represent functional relationships between objects; e.g., the 'father' field of A points to A's father [»wirtN6_1966]
Quote: restrict reference variables to a specific type; prevents accessing the incorrect class [»wirtN6_1966]

Subtopic: unique pointer up

Quote: use unique pointers to avoid pointer-induced aliasing; helps encapsulation, reasoning, thread interactions, storage management; practical [»minsNH7_1996]

Subtopic: null pointer up

Note: null pointers mark the boundary between visited and unvisited objects; test for null; reference returns a new object [»cbb_2000, OK]
QuoteRef: mckeWM_1966 ;;95 undefined types: null and inf (for a/0) can be tested and propagated
Quote: a reference value refers to an object belonging to a class or its subclasses; the value 'none' is permissible for any reference [»dahlOJ_1967]

Subtopic: two-way pointer up

Quote: some frame languages use two-way pointers to update inverse relations; avoids tangling pointers by automatically updating all references [»tichWF11_1987]
Quote: the Connection Machine uses trees and butterflies for collecting, combining, and spreading information, e.g., sets; need two-way pointers [»hillWD_1985]
Quote: besides Ross's n-component elements, Sketchpad includes back-pointers stored in a ring; e.g., e.g., ring of line segments that terminate on a point [»suthIE5_1963]

Subtopic: distributed pointer up

Quote: traditionally, pointer arguments should be hidden; but communication of names is needed for a process calculus [»milnR1_1993]

Subtopic: file handle up

Quote: files in OS6 are first-class values; access heading and body by file handle; heading contains information about file [»stoyJE3_1972]

Subtopic: garbage collection up

Quote: share tables of live pointers across call sites; shrinks garbage collection tables to 20-25% of their original size; 1% of executable code [»tardD10_2000]

Subtopic: notation for pointer access up

Quote: in C, '->' is shorthand for accessing a structure component via a dereferenced pointer [»ritcDM7_1978c]
Quote: Mesa automatically handles p<-v and v<-p when v is a variable and p is a pointer [»gescCM6_1975, OK]
Quote: represent a link with a compass widget; on visit, the indicator tick extends to the link's source; need mouse to appreciate the dynamic display of reference [»edwaJ10_2005]
QuoteRef: wirtN1_1971 ;;46 in Pascal, variable access by b[red] or U.realpart or file_name^ or pointer^
QuoteRef: palmJ5_1973 ;;6 Simula uses :- for linked to
Quote: @v is a reference, indirect assignment is v.<-E [»wirtN1_1966]

Subtopic: index register up

Quote: construct a program with many fewer orders by modifying the orders during program execution [»wilkMV_1951]
Quote: in 1955, EDSAC's B-register (index register) made instruction modification obsolete; invented at Manchester University [»campM1_1980]

Subtopic: pointers not understood up

Quote: pointers weakly support relations; too complex for casual users; only degree 2, directional, complex data structures [»coddEF_1990]
Quote: compare values to interrelate database objects instead of using pointers; well understood by all users [»coddEF_1990]
Quote: plex structures become so elaborate and interwoven that they are impossible to understand; need to automatically translate from language to plex structures

Related Topics up

Group: data structures   (12 topics, 278 quotes)
Group: data value   (19 topics, 433 quotes)

Topic: access to objects by a path (13 items)
Topic: aliasing (28 items)
Topic: binding names to variables or expressions (10 items)
Topic: binding of names to objects (19 items)
Topic: code optimization by flow analysis (47 items)
Topic: dangling pointers (13 items)
Topic: data alignment (2 items)
Topic: flag computer (2 items)
Topic: naming by pointing or recognition (13 items)
Topic: object-oriented objects (39 items)
Topic: parameter passing by reference (11 items)
Topic: pointer machines (17 items)
Topic: procedure valued variables (34 items)
Topic: recursive data structures (18 items)
Topic: ref_any or Object data type (9 items)
Topic: safe use of pointers (102 items)
Topic: shared objects (13 items)
Topic: unique numeric names as surrogates (67 items)
Topic: using an address as a name (22 items)
Topic: using pointers in Thesa (49 items)
Topic: variable as reference to a value (21 items)
Topic: variable as reference to storage
(12 items)

Updated barberCB 11/05
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.