मुझे लगता है कि सी के बारे में जानने के लिए आपके लिए सबसे महत्वपूर्ण चीजें सी और सी ++ के बीच के अंतर हैं। आप की संभावना कुछ बिंदु पर इसमें कुछ सी शैली है कि कुछ कोड दिखाई देगा, और आप भ्रमित नहीं होना चाहिए जब फिर आप देख malloc
, free
, printf
, fopen
, या fclose
। आपको यह भी पता होना चाहिए कि ये कैसे समान हैं और साथ ही साथ वे अपने C ++ समकक्षों से कैसे भिन्न हैं।
आप यह भी पता होना चाहिए कि <<
और >>
छोड़ दिया और सही पारी ऑपरेटरों, नहीं प्रविष्टि ऑपरेटर हैं। C ++ में, जहाँ आप ऑपरेटरों को अधिभारित कर सकते हैं, इन्हें स्ट्रीम सम्मिलन और इसी तरह की चीजों को करने के लिए अतिभारित किया गया है, लेकिन वे अभी भी पूर्णांक को स्थानांतरित करने के लिए उपयोग किए जाते हैं।
सुनिश्चित करें कि आप उन सभी मूलभूत सुविधाओं को समझते हैं जो C ++ में हैं जो C. में नहीं हैं। यदि आप stackoverflow.com को पढ़ते हैं, तो आपने कई ऐसे कई प्रश्न देखे होंगे, जिनमें भाषाओं के अंतर और लोगों की गलतफहमी शामिल होती है।
आपको सी प्रीप्रोसेसर के साथ भी खुद को परिचित करना चाहिए, जो कि सी ++ प्रीप्रोसेसर के रूप में लगभग (और अक्सर उसी प्रोग्राम के रूप में) है। यह जानने के लिए कि इसका उपयोग 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 ++ की तुलना में बहुत छोटी है और यह अपने आप को इसके सबसे सामान्य टुकड़ों से परिचित कराने के लिए एक बड़ा सौदा नहीं है, इसलिए इसे सीखने के लिए वास्तव में चोट नहीं पहुंच सकती है।