title: What does the array operator "-" (a hypen or a dash) mean and do in C?
body: <p>I am taking a course in operating systems and we were assigned the "Project 1 UNIX Shell and History Feature" as found in Abraham Silberschatz Operating Systems pg 157.  I was doing research on the problem and came across an interesting GitHub code.  It included an "else if" statement with an operator I've never seen before (a dash -).  I'm trying to find out what it does.<br>
  (link)<a href="https://github.com/deepakavs/Unix-shell-and-history-feature-C/blob/master/shell2.c" rel="nofollow noreferrer">https://github.com/deepakavs/Unix-shell-and-history-feature-C/blob/master/shell2.c</a></p>
  
  <pre><code>else if (args[0][0]-'!' ==0)
  {   int x = args[0][1]- '0'; 
      int z = args[0][2]- '0'; 
  </code></pre>
  
  <p>as you can see in the two D array "ags[0][0]-'!'" and on "int x" and "int z"</p>
  
  <p>Can someone tell me what this is called and what is it doing?</p>
  
  <p>Thanks</p>