En si, todo lo que es C basico, como es el control de flujo (if..else, while, do..while, for, switch..case, break ) es igual en ambos lados, PC como PICs.
La forma de declarar funciones, variables, arrays , punteros, protipos de funciones, estructuras y uniones tambien son lo mismo para ambos.
Asi como tambien la forma de organizar donde va cada cosa, me refiero a poner en que poner en los headers ( .h ) y los archivos .c.
Lo unico que no cuenta los microcontroladores respecto a la PC es lo que le llaman heap, o pensalo como una memoria "dinamica", en realidad no se hace porque es costosa en tiempo del nucleo y tampoco hay demasiada RAM. (Pero en los tutoriales basicos no creo que encuentres esto )
Hasta ahi es identico. Y podes sacarlo de cualquier tutorial que encuentres por internet. Cada uno prefiere un compilador distinto. Yo personalmente prefiero XC8, por que me manejo con los registros como si fuera ASM. Y de ultima si vas a usar muchas veces lo mismo te creas una funcion. XC8 es muy trasparente como lo es el ASM, es decir el compilador no va a hacer otra cosa ademas de lo que vos escribis, eso me da un poco de seguridad a mi gusto. Yo viniendo del ASM prefiero mas el manejo de registros.
CCS por otra parte provee la facilidad y lograr ciertos objetivos realmente rapidos. Pero eso trae ademas un proceso por detras que a mi personalmente no me gusta y que lo vas a ir descubriendo poco a poco. Tiene muchas funciones que son propias del compilador y no del lenguaje en si, asi como tambien directivas. Para saber cuales son todas estas deberias de buscar el PDF en google, "CCS manual" y te aparece. ¿CCS es malo? En mi opinion no, es genial para hacer cosas rapidamente e incluso para productos, pero por cuestion de gustos me gusta mas la seguridad que tengo con el otro.
Respecto a las dudas que tengas podes escribirlas aca y te seran respondidas. Incluso las mas basicas, mucha gente aca tiene mas experiencia que yo en CCS y te seran de ayuda, pero en cosas basicas de CCS y de C puedo ser de ayuda.