C is a classical high-level computer language that supports procedural programming. C#, pronounced as C-Sharp, is an object-oriented programming language that was developed as a counterpart of Java. C does not conform to object-oriented principles and does not come with automatic garbage collection features. C#, on the other hand, supports garbage collection via Common Language Runtime (CLR). C programs can be executed across platforms, while C# needs the .NET platform to run. While C# is more focused on the design, C is more about the functional aspects. Both languages support pointers, but in C#, pointers can only be used in unsafe mode.