Characters and Strings

A character is a letter, number, or other textual symbol. The document you are reading right now is a series of characters. Obviously, in order to display meaningful information to the user, a C program must be able to display, store, and manipulate characters.

Inside the computer, characters are actually represented as numbers. Most computers use an encoding known as ASCII to relate these numbers to the characters displayed for the user. Below a table of ASCII characters. Note that the first 32 characters are actions rather than display characters (13 is a carriage return, 9 is a tab). Also notice that uppercase and lowercase letters have different ASCII codes ('A' is 65 while 'a' is 97).

       0 nul    1 soh    2 stx    3 etx    4 eot    5 enq    6 ack    7 bel
       8 bs     9 ht    10 nl    11 vt    12 np    13 cr    14 so    15 si
      16 dle   17 dc1   18 dc2   19 dc3   20 dc4   21 nak   22 syn   23 etb
      24 can   25 em    26 sub   27 esc   28 fs    29 gs    30 rs    31 us
      32 sp    33  !    34  "    35  #    36  $    37  %    38  &    39  '
      40  (    41  )    42  *    43  +    44  ,    45  -    46  .    47  /
      48  0    49  1    50  2    51  3    52  4    53  5    54  6    55  7
      56  8    57  9    58  :    59  ;    60  <    61  =    62  >    63  ?
      64  @    65  A    66  B    67  C    68  D    69  E    70  F    71  G
      72  H    73  I    74  J    75  K    76  L    77  M    78  N    79  O
      80  P    81  Q    82  R    83  S    84  T    85  U    86  V    87  W
      88  X    89  Y    90  Z    91  [    92  \    93  ]    94  ^    95  _
      96  `    97  a    98  b    99  c   100  d   101  e   102  f   103  g
     104  h   105  i   106  j   107  k   108  l   109  m   110  n   111  o
     112  p   113  q   114  r   115  s   116  t   117  u   118  v   119  w
     120  x   121  y   122  z   123  {   124  |   125  }   126  ~   127 del

Most computers have eight bit bytes. We have discussed integers earlier. An eight bit byte can store values between 0 and 255. So, the letter 'D' can be stored in a single byte, the letter 'o' in the next byte, 'r' in the next, and 'k' in the next. This would be a "string" of characters used to make up the word "Dork".

In C, a single character is stored in a variable with a data type of char. A string of characters is stored in a char array. Strings are terminated by storing a 0 after the last character (not 48, the ASCII code for 0, but an actual 0 value). This is called a null, and strings of this type are refered to as being "null terminated".

(talk about backslash escape character)

String Functions

The C standard library comes with several string manipulation functions. Some examples are: