Saya pikir hal terpenting yang perlu Anda ketahui tentang C adalah perbedaan antara C dan C ++. Anda mungkin akan melihat beberapa kode yang memiliki beberapa C gaya di beberapa titik, dan Anda tidak harus bingung ketika Anda melihat hal-hal seperti malloc
, free
, printf
, fopen
, atau fclose
. Anda juga harus tahu bagaimana ini mirip serta bagaimana mereka berbeda dari rekan-rekan C ++ mereka.
Anda juga harus tahu itu <<
dan >>
merupakan operator shift kiri dan kanan, bukan operator penyisipan. Di C ++, di mana Anda dapat membebani operator, ini telah kelebihan beban untuk melakukan penyisipan aliran dan hal-hal serupa, tetapi mereka masih digunakan untuk menggeser bilangan bulat.
Pastikan Anda memahami semua fitur dasar yang dimiliki oleh C ++ yang tidak ada di C. Jika Anda cukup membaca stackoverflow.com, Anda akan melihat banyak pertanyaan yang melibatkan perbedaan dalam bahasa dan kesalahpahaman orang tentang mereka.
Anda juga harus membiasakan diri dengan preprocessor C, yang hampir sama dengan (dan seringkali program yang sama dengan) preprocessor C ++. Mengetahui cara menggunakannya akan membantu Anda dalam C ++, tetapi lebih banyak mengandalkan C.
Satu hal besar yang sulit dihadapi dalam C yang dimiliki C ++ adalah destruktor. Hal-hal itu dapat disebut di semua tempat mengurus pembebasan sumber daya, tetapi dalam C Anda harus melakukan semua itu secara lebih eksplisit. Ini mudah bagi programmer C ++ untuk melupakan tentang melakukan.
Sejauh wawancara, jika seseorang meminta Anda untuk menulis kode untuk beberapa algoritma umum dalam C dan Anda melakukan sesuatu seperti:
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
Saya tidak berpikir mereka akan memutuskan bahwa Anda tidak tahu apa yang Anda lakukan karena Anda tidak melakukannya:
struct foo x;
Dan mereka seharusnya tidak peduli jika Anda menggunakan cout
kecuali apa yang mereka coba tampilkan adalah kemampuan Anda menangani input dan output, yang membuat C ++ lebih mudah untuk kasus-kasus umum.
Jika Anda menemukan diri Anda dalam posisi sedang diwawancarai untuk pekerjaan yang membutuhkan C, Anda harus jujur tentang kurangnya pengetahuan Anda tentang C di luar tumpang tindihnya dengan C ++. Mereka mungkin akan mengerti bahwa seorang programmer yang baik harus dapat membuat transisi ke C dari C ++ dengan cukup cepat.
Semua itu dikatakan, C tidak sebesar bahasa. Pustaka standar jauh lebih kecil daripada C ++ dan itu bukan masalah besar untuk membiasakan diri dengan bagian yang paling umum, jadi benar-benar tidak ada salahnya untuk mempelajarinya.