(१) इस प्रोग्रामिंग भाषा की सबसे महत्वपूर्ण विशेषता यह है कि इसमे उच्च स्तरीय प्रोग्रामिंग भाषा के समस्त गुण तो है ही, साथ ही इसमे निम्न स्तरीय भाषा के समस्त गुण पाए जाते है। उच्च स्तरीय भाषाएं "फ़ोरट्रान", "कोबोल" भी है लेकिन इसमे निम्न स्तरीय भाषा के गुण नहीं पाए जाते।

(२) इस प्रोग्रामिंग भाषा में तैयार किये गये प्रोग्राम की गति अपेक्षाकृत तीव्र होती है। यह ० से १५००० तक गिनने में लगभग एक सेकण्ड का समय लगाती है जबकि बेसिक में इस कार्य में लगभग ५० सेकण्ड लगते है।

(३) ’सी’ प्रोग्रामिंग भाषा में प्रोग्राम में प्रयोग करने हेतु अनेक "functions" परिभाषित होते है परन्तु इसमे एक अतिरिक्त सुविधा यह भी है कि प्रोग्रामर अपनी आवश्यकतानुसार नए "functions" भी परिभाषित कर सकता है।

(४) इसमे मात्र ३२ की शब्दों का प्रयोग होता है इसके साथ ही इसमे अनेक अन्य सहायक प्रोग्राम भी होते है जिसकी सहायता से जटिल "functions" भी सफलतापूर्वक किए जा सकते है।

(५) यह मुख्यत: गणित, विज्ञान एवं सिस्टम संबंधित कार्यो के काम आती है।

(६) इस भाषा में निर्देश देते समय "lower case letters" का ही प्रयोग किया जाता है।

उपरोक्त विशेषताओ के कारण ही ’सी’ एक अत्यधिक लोकप्रिय कम्प्यूटर प्रोग्रामिंग भाषा है।

इससे पहले हम यह जान चुके हैं कोई भी चर संगणक की मेमोरी (memory) में किस तरह से संरक्षित होता है। जहाँ यह चर संरक्षित होता है उसका एक निश्चित पता भी होता है जो यह बताता है कि चर का मान मेमोरी में कहाँ संरक्षित है। इस पते को ही पोइंटर (pointer) कहते हैं। C/C++ प्रोग्रामन भाषा में यह सुविधा भी होती है कि किसी चर का पता ज्ञात किया जा सकें (चर का पता = वह मेमोरी में पता/वह स्थान जहाँ चर का मान संरक्षित है)। C/C++ प्रोग्रामन भाषा में भी चर का पता जानने के लिए & का उपयोग करते हैं। जैसे कि अगर कोई पूर्णांक चर "x" (सी में int x; के रूप में परिभाषित) है तो "x" का पता &x से मिल जायेगा। जिस प्रकार पूर्णांक, अक्षर, वास्तविक संख्या (क्रमशः int, char, float) इत्यादि को चर में संरक्षित किया जाता हैं उसी तरह किसी चर के पत्ते को भी। इसके लिए एक नया डाटाटाईप (datatype) होता है जो पता संरक्षित करने के काम आता है जिस तरह से पूर्णांक संरक्षित करने के लिए int datatype का उपयोग होता है। किसी पूर्णांक चर का पता संरक्षित करने के लिए int* datatype का उपयोग करते हैं। इसी तरह अक्षर चर (char variable) का पता संरक्षित करने के लिए char* datatype का उपयोग करते हैं। नीचे एक छोटा सा उदाहरण यह दिया गया है जिसमें एक चर में दूसरे चर का पता (address) संरक्षित करते हैं।

सी प्रोग्रामिंग भाषा का इतिहास
प्रोग्राम लिखने के नियम
सी प्रोग्राम की संरचना और इसके घटक
’सी’ प्रोग्रामिंग भाषा की विशेषताएं