वीकेंड प्रोजेक्ट: C भाषा के साथ मज़े करना

  • C भाषा सरल होने के साथ-साथ शक्तिशाली भी है, इसलिए इससे पूरे operating system को अपेक्षाकृत आसानी से लिखा जा सकता है
  • C भाषा का संक्षिप्त syntax, Java, Go जैसी कई बाद की भाषाओं को प्रभावित करता है
  • इसने code obfuscation कला के उभरने में भी योगदान दिया

IOCCC प्रतियोगिता

  • IOCCC प्रतियोगिता code obfuscation का एक प्रतिनिधि उदाहरण है
  • प्रतियोगिता में भेजी जाने वाली प्रविष्टियाँ अक्सर उलझाऊ preprocessor macro, अतार्किक formatting, और गैर-सहायक variable names का उपयोग करती हैं
  • ऐसा code पढ़ना कठिन होता है, लेकिन C भाषा एक साथ पढ़ने में आसान और भ्रमित करने वाली दोनों हो सकती है

switch स्टेटमेंट

  • switch स्टेटमेंट को if स्टेटमेंट या for स्टेटमेंट की तरह braces की ज़रूरत नहीं होती
  • braces के बिना इस्तेमाल करने पर इसमें केवल एक statement शामिल किया जा सकता है
  • switch स्टेटमेंट मूल रूप से glorified goto जैसा है
  • switch स्टेटमेंट के अंदर variable initialization अप्रत्याशित behavior पैदा कर सकता है

case लेबल

  • case लेबल का switch स्टेटमेंट ब्लॉक के सबसे ऊपर होना ज़रूरी नहीं है
  • इसे if (0) condition के साथ भी इस्तेमाल किया जा सकता है
  • यह break स्टेटमेंट के बिना भी काम कर सकता है

else और if का संयोजन

  • else और if का उपयोग करके switch स्टेटमेंट को बदला जा सकता है
  • braces के बिना भी कई conditions को संभाला जा सकता है

GNU extension फीचर

  • && operator का उपयोग करके label का address लिया जा सकता है और goto से वहाँ जाया जा सकता है
  • इससे switch स्टेटमेंट को बदला जा सकता है

for स्टेटमेंट का विकल्प

  • variable declaration के भीतर label का उपयोग करके loop लागू किया जा सकता है
  • यह GCC-विशेष है, लेकिन C भाषा में भी बहुत मौलिक और भ्रमित करने वाला code लिखा जा सकता है

निष्कर्ष

  • C भाषा बहुत मौलिक और भ्रमित करने वाला code लिखने की संभावना देती है
  • ऐसा code पढ़ना कठिन होता है, लेकिन यह C भाषा की शक्ति दिखाता है

GN⁺ की राय

  • यह लेख C भाषा की मौलिकता और जटिलता को अच्छी तरह दिखाता है
  • C भाषा के विविध उपयोगों की संभावनाएँ तलाशने में यह उपयोगी है
  • code obfuscation जैसा इसका कलात्मक पक्ष भी दिलचस्प है
  • GNU extension फीचर का उपयोग करने वाले उदाहरण बहुत अनोखे और रचनात्मक हैं
  • C भाषा सीख रहे शुरुआती developers के लिए यह थोड़ा कठिन हो सकता है

अभी कोई टिप्पणी नहीं है.

अभी कोई टिप्पणी नहीं है.