Dereference Operator - Composition

Composition

Further information: Pointer: Multiple indirection

The unary * operator, as defined in C and C++, can be used in compositions in cases of multiple indirection, where multiple acts of dereferencing are required. Pointers can of course reference other pointers, and in such cases, multiple applications of the dereference operator are needed. Similarly, the Java dot operator can be used in compositions forming quite sophisticated statements that require substantial dereferencing of pointers behind the scenes during evaluation.

A basic example is in the argv argument to the main function in C (and C++), which is given in the prototype as char **argv – this is because the variable argv itself is a pointer to an array of strings (an array of arrays), so *argv is a pointer to the 0th string (by convention the name of the program), and **argv is the 0th character of the 0th string.

Read more about this topic:  Dereference Operator

Famous quotes containing the word composition:

    There is singularly nothing that makes a difference a difference in beginning and in the middle and in ending except that each generation has something different at which they are all looking. By this I mean so simply that anybody knows it that composition is the difference which makes each and all of them then different from other generations and this is what makes everything different otherwise they are all alike and everybody knows it because everybody says it.
    Gertrude Stein (1874–1946)

    If I don’t write to empty my mind, I go mad. As to that regular, uninterrupted love of writing ... I do not understand it. I feel it as a torture, which I must get rid of, but never as a pleasure. On the contrary, I think composition a great pain.
    George Gordon Noel Byron (1788–1824)

    Those Dutchmen had hardly any imagination or fantasy, but their good taste and their scientific knowledge of composition were enormous.
    Vincent Van Gogh (1853–1890)