Ich schlage auch vor C++ statt C zu lernen.
Warum? -> Von C++ kannst leicht auf C wechseln, weil vieles in C ja ein Subset basierend auf vereinfachten Sprachfeatures ist. Wer aber mal C verinnerlicht hat, tut sich nachher oftmals schwer dann später in den erweiterten, higher-level features von C++ zu denken und v.a. diese auch effizient & standardmäßig anzuwenden (z.B. Standard Library nutzen wie smart-pointer, std::string, container, algorithms; Klassendefinitionen mit sauberer Trennung von Interface vs. Implementation; template-features; Lambdas etc.). Guter C++ Code hat mit C Coding-features nämlich wenig gemeinsam.
Warum? -> Von C++ kannst leicht auf C wechseln, weil vieles in C ja ein Subset basierend auf vereinfachten Sprachfeatures ist. Wer aber mal C verinnerlicht hat, tut sich nachher oftmals schwer dann später in den erweiterten, higher-level features von C++ zu denken und v.a. diese auch effizient & standardmäßig anzuwenden (z.B. Standard Library nutzen wie smart-pointer, std::string, container, algorithms; Klassendefinitionen mit sauberer Trennung von Interface vs. Implementation; template-features; Lambdas etc.). Guter C++ Code hat mit C Coding-features nämlich wenig gemeinsam.