Ctrl + C generally used as a termination request from a user. Actually when Unix recognizes an interrupt has occured , it sends the corresponding process signal , where 'Signals' are used by the operating system to notify process that some event (interrupt) has occured. Now there is one unique numbered signal available for each possible event. When a user press Ctrl + C , that key combination causes the system to send a signal i.e SIGINT to the running process. By default that signal causes the process to terminate immediately. This Ctrl + C works in command line i.e in a terminal. There's a terminal driver exist which supports the terminal. When the terminal driver recognizes a Ctrl + C key combination, it sends a SIGINT signal to all processes that are running under the current forground job.
There are other terminal signals like Ctrl + Z , Ctrl + \ etc. Ctrl + Z sends a TSTP signal i.e SIGSTP which causes the process to suspend execution and Ctrl + \ sends an ABRT signal i.e SIGABRT to immediately terminate a process.

