I recently came across a statement saying that \"char\" type in C is really a special form of integer – one that stores the ASCII code numbers which represent characters and
Yes, a char is (typically) a one-byte integer. Except the compiler knows to treat it differently, typically with ASCII character semantics. Many libraries / headers define a BYTE type that is nothing more than an unsigned char, for storing one-byte integers.