Я думаю, що найважливіше, що вам потрібно знати про C, - це різниці між C і C ++. Ви, ймовірно , побачити код , який має певний тип C в ньому в будь - то момент, і ви не повинні бути переплутані , коли ви бачите такі речі , як malloc, free, printf, fopen, або fclose. Ви також повинні знати, наскільки вони подібні, а також чим вони відрізняються від C ++.
Ви також повинні знати, що <<і >>оператори зсуву вліво і вправо, а не оператори вставки. У C ++, де ви можете перевантажувати операторів, вони були перевантажені для вставки потоку та подібних речей, але вони все ще використовуються для переміщення цілих чисел.
Переконайтеся, що ви розумієте всі основні функції, які мають C ++, які не містяться у C. Якщо ви прочитаєте stackoverflow.com достатньо, ви побачите багато питань, які стосуються відмінностей у мовах та непорозуміннях людей у них.
Ви також повинні ознайомитись з препроцесором C, який майже такий же, як (і часто та сама програма, що і) препроцесором C ++. Знання, як його використовувати, допоможе вам у C ++, але на нього покладається набагато більше.
Одна велика річ, з якою важко розібратися в C, який має C ++, - це деструктори. Ці речі можна назвати в усьому світі, беручи до уваги звільнення ресурсів, але в C ви повинні робити все це більш чітко. Це легко програмістам на C ++ забути про те, що робити.
Що стосується інтерв'ю, якщо хтось попросить вас написати код для якогось загального алгоритму на C, а ви зробите щось на кшталт:
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
Я не думаю, що вони вирішать, що ти не знаєш, що ти робиш, тому що ти цього не зробив:
struct foo x;
І їм дійсно не важливо, якщо ви використовувались, coutякщо тільки те, що вони намагаються запропонувати вам продемонструвати, це ваша здатність мати справу з введенням і виведенням, що C ++ полегшує звичайні випадки.
Якщо ви опинитесь на співбесіді на роботу, яка вимагає C, вам слід попередити про недостатнє знання C за межами його перекриття C ++. Вони, ймовірно, зрозуміють, що хороший програміст повинен мати можливість досить швидко здійснити перехід на C з C ++.
Коли все сказане, C не є такою великою мовою. Стандартна бібліотека набагато менша, ніж у C ++, і ознайомитись із найпоширенішими фрагментами її не так вже й складно, тому навчитися цьому насправді не завадить.