C is a programming language that was first developed at Bell Labs in 1972 and 1973 as a successor to the B programming language, and is one of the most widely used languages as of September 2020.
C was designed to be compiled to provide low-level access to memory, and map efficiently to machine instructions. This means it has the ability to have a lot of control over memory access and can be very efficient. Because of its low level design, it can be compiled to work on a variety of computer platforms. Embedded C is a variation of C that can be used in microcontrollers and other small computing platforms and allows the code to be written to be very memory efficient and also includes I/O hardware addressing.
Some common C vulnerabilities include buffer overflows, stack overflows, and memory leaks.