कारण के लिए मेरा पहला अनुमान बस प्रदर्शन और मेमोरी सेविंग कारणों के कारण था, और साथ ही संकलक कार्यान्वयन में आसानी के लिए (विशेष रूप से उस समय के कंप्यूटर के लिए जब सी का आविष्कार किया गया था)। "मूल्य द्वारा" विशाल सरणियों को पास करना स्टैक पर बहुत अधिक प्रभाव डालता है, इसके लिए प्रत्येक फ़ंक्शन कॉल के लिए एक पूर्ण सरणी कॉपी ऑपरेशन की आवश्यकता होती है, और शायद कंपाइलर को सही असेंबली कोड आउटपुट करने के लिए अधिक चालाक होना चाहिए (हालांकि अंतिम बिंदु बहस योग्य है) । डायनामिक रूप से आवंटित सरणियों का उसी तरह व्यवहार करना अधिक कठिन होगा, जैसा कि सांख्यिकीय रूप से आवंटित सरणियों (भाषा के वाक्य-विन्यास के दृष्टिकोण से)।
EDIT: इस लिंक से कुछ हिस्सों को पढ़ने के बाद , मुझे लगता है कि वास्तविक कारण (और इसका कारण है कि संरचनाओं में सरणियों को मूल्य प्रकार के रूप में माना जाता है, जबकि एकमात्र सरणियां नहीं हैं) सी के पूर्ववर्ती बी के लिए पिछड़ी संगतता है । यहाँ डेनिस रिची से उद्धृत है:
[...} समाधान ने टाइप बीसीपीएल और टाइप सी के बीच विकासवादी श्रृंखला में महत्वपूर्ण उछाल का गठन किया। इसने भंडारण में सूचक के भौतिककरण को समाप्त कर दिया, और इसके बजाय सूचक का निर्माण तब किया जब सरणी का नाम एक अभिव्यक्ति में वर्णित है। नियम, जो आज के सी में जीवित रहता है, वह यह है कि सरणी प्रकार के मूल्यों को परिवर्तित किया जाता है, जब वे अभिव्यक्तियों में दिखाई देते हैं, तो सरणी बनाने वाले ऑब्जेक्ट्स में सबसे पहले होते हैं।
इस आविष्कार ने सबसे मौजूदा बी कोड को भाषा के शब्दार्थ में अंतर्निहित बदलाव के बावजूद काम करना जारी रखने में सक्षम बनाया। [..]