key features of c programming language