Home Segments Index Top Previous Next

493: Mainline

When you delimit a sequence of characters by double-quotation marks, you are telling C to create an array in which the elements are the particular characters between the double-quotation marks. The following, for example, is what C stores on encountering "Food".

        0        1        2        3        4   <----- Array index 
        |        |        |        |        |   
        v        v        v        v        v 
     -------- -------- -------- -------- -------- Memory addresses --* 
----*--------*--------*--------*--------*--------*--------*---       | 
    |01000110|01101111|01101111|01100100|00000000|        |          | 
 ---*--------*--------*--------*--------*--------*--------*----      | 
     920      921      922      923      924      925      926 <-----* 
     -------- -------- -------- -------- -------- 
        ^        ^        ^        ^        ^ 
        |        |        |        |        *----- End-of-string code 
        F        o        o        d      <----- Encoded character 

Note that the four characters in Food are actually stored in a five-element array in which the last element is filled by the null character, usually an all-zero byte, rather than by an actual character's code.

Character arrays terminated by null characters are called character strings, or, more succinctly, strings. Thus, "Food" is a notation for a string. Somewhat colloquially, most programmers say that "Food" is a string.