I think I'll start a new thread for this, but to answer some specific questions.
1. 'omthe' is a typo that should read 'other'
2. No 0 is defined in C already, you just can't divide by it  check the defintion of a field, F is a field if it is an abelian group, with identity 0 under operation +, and F, omitting 0, is also an abelian group under the operation *.
3. In some structure ( ring usually) we say x divides y (is a divisor of) if there some other z with x*z=y. So in the ring of integers mod 8, 2 divides 0 in a nontrivial way (obviously x.0=0 is a trivial statement), that is what we mean by zerodivisors (the nontrivial is implicit).
4. When I say it is not a good place to do arithmetic, I mean things like finding roots of ax+b=0 is not as easy as it ought to be, because usually we would say x= b/a. However, when nontrivial zero divisors exist this isn't true, as we can no longer divide by a. I mean the multiplicative inverse for 2 does not exist in mod 8 arithmetic.
To convince yourself of what's going on, lets do mod 3 arithemetic, what is 1/2? It is by definition the thing that when multiplied by two gives 1, agreed? So we are seeking a y such that 2y=1 (mod 3). By inspection 2*2=4=1 mod 3, so 1/2 = 2! Really we ought not to write 1/2 as it is too suggestive, but instead write 2^{1}
In cases where x*y=0 for nonzer x and y we cannot say 0/x =y and vice versa  or at least whilst you may write it, it is not valid as a mathematical statement. To see why, consider mod 16 arithmetic  4*4=0 and 4*8=0, so you cannot define 0/4  there are two possibitlities.
LOok out for a new posting.
