Ich denke, das Wichtigste, was Sie in Bezug auf C wissen müssen, sind die Unterschiede zwischen C und C ++. Sie werden wahrscheinlich einige Code sehen , dass einige C - Stil in es an einem gewissen Punkt hat, und Sie sollten nicht verwechselt werden , wenn man die Dinge sehen , wie malloc
, free
, printf
, fopen
, oder fclose
. Sie sollten auch wissen, wie ähnlich diese sind und wie sie sich von ihren C ++ - Gegenstücken unterscheiden.
Sie sollten das auch wissen <<
und >>
Links- und Rechts-Shift-Operatoren sind, keine Einfügeoperatoren. In C ++, wo Sie Operatoren überladen können, wurden diese überladen, um Stream-Einfügungen und ähnliche Vorgänge auszuführen, aber sie werden weiterhin zum Verschieben von Ganzzahlen verwendet.
Stellen Sie sicher, dass Sie alle grundlegenden Funktionen von C ++ verstehen, die nicht in C enthalten sind. Wenn Sie stackoverflow.com ausreichend gelesen haben, werden Sie viele, viele Fragen sehen, die die Unterschiede in den Sprachen und deren Missverständnisse betreffen.
Sie sollten sich auch mit dem C-Präprozessor vertraut machen, der fast mit dem C ++ - Präprozessor (und häufig auch mit dem Programm) identisch ist. Zu wissen, wie man es benutzt, wird Ihnen in C ++ helfen, aber in C stützt es sich auf viel mehr.
Eine große Sache, mit der sich C ++ nur schwer auseinandersetzen lässt, sind Destruktoren. Diese Dinge können überall aufgerufen werden, um Ressourcen freizugeben, aber in C müssen Sie das alles expliziter machen. Dies ist für C ++ - Programmierer leicht zu vergessen.
Was Interviews anbelangt, wenn jemand Sie auffordert, Code für einen allgemeinen Algorithmus in C zu schreiben, und Sie etwas tun wie:
struct foo {
int a;
void * b;
};
foo x; // in C++ this would work, but in C it would fail because struct names aren't in the
// type name table unless you put them there with typedef
Ich glaube nicht, dass sie entscheiden werden, dass Sie nicht wissen, was Sie tun, weil Sie es nicht getan haben:
struct foo x;
Und es sollte ihnen wirklich egal sein, ob Sie verwendet haben, es cout
sei denn, sie versuchen, Sie zum Präsentieren zu bewegen, und Sie können mit Ein- und Ausgaben umgehen, was C ++ für häufig vorkommende Fälle einfacher macht.
Wenn Sie sich in der Lage befinden, für einen Job interviewt zu werden, für den C erforderlich ist, sollten Sie sich vorab über Ihren Mangel an C-Kenntnissen im Klaren sein, der sich nicht mit C ++ überschneidet. Sie werden wahrscheinlich verstehen, dass ein guter Programmierer in der Lage sein sollte, relativ schnell von C ++ auf C umzusteigen.
Abgesehen davon ist C keine so große Sprache. Die Standardbibliothek ist viel kleiner als die von C ++ und es ist keine große Sache, sich mit den häufigsten Stücken vertraut zu machen. Es kann also nicht schaden, sie zu lernen.