Un editor di testo permette di scrivere testi e salvarli in file di testo.
Un compilatore è un programma (diviso in preprocessore, assembler e linker) che permette da file di testo di produrre binari eseguibili (.exe sotto Windows). In particolare, il preprocessore applica tutte le macro ed elimina commenti e spazi inutili dal codice; l'assembler produce il codice oggetto (.o), ossia traduce il linguaggio preso dal file di testo in linguaggio binario; il linker infine collega più moduli (divisi nei vari file .o con il codice oggetto) tra di loro, inserendo gli indirizzi giusti delle funzioni e delle variabili.
Un IDE (Integrated Development Environment), quelle cose orribili e dannose che evidentemente hai usato fino ad ora, altro non sono che editor di testo + compilatore in un unico programma (solitamente anche qualche altro strumento ultra-pesante in più). Quando su un IDE premi la freccia play per eseguire il codice, l'IDE prende ciò che hai scritto nel suo editor di testo e lo passa a un compilatore, quindi lo esegue.
Puoi però benissimo programmare in C usando notepad++ o qualsiasi altro editor di testo: basta che dopo aver salvato il file con il codice lo passi ad un compilatore come GCC o MinGW. A differenza del notepad di Windows, notepad++ ha il syntax highlight (colorazione del codice), il line numbering (numeri di riga), l'auto indentazione e qualche altra cosa minore.
Come consigliato da nullptr, leggi le FAQ di St3ve:
https://www.inforge.net/xi/threads/frequently-asked-questions-da-dove-si-parte.441093/
Poi prendi un manuale di programmazione al C (uno di quelli elencati da St3ve nella discussione, escluso il K&R) e studialo.
Infine, si programma su Linux (magari con vim o emacs) non su Windows. In Windows è un suicidio.