I know that C strings are char[] with a \'\\0\' in the last element. But how are the chars encoded?
Update: I found this cool link which talks about many other prog
As other indicated already, C has some restrictions what is permitted for source and execution character encodings, but is relatively permissive. So in particular it is not necessarily ASCII, and in most cases nowadays at least an extensions of that.
Your execution environment is meant to do an eventual translation between source and execution character set.
So generally you should not care about the encoding and in the contrary try to code independently of it. This why there are special escape sequences for special characters like '\n', or '\t' and universal character encodings like '\u0386'. So usually you shouldn't have to look up the encodings for the execution character set yourself.