> it would really be more complicated in C if a and b were actually strings or lists
You don't event need strings or lists for that. Just imagine bigger numbers for a and b. Arbitrarily long integer addition is not a native language feature in C.
edit: formatting