जब तक कि मान 0 नहीं है (जिस स्थिति में आप इनिशियलाइज़र के कुछ भाग को छोड़ सकते हैं और संबंधित तत्वों को 0 पर इनिशियलाइज़ किया जाएगा), कोई आसान तरीका नहीं है।
हालांकि, स्पष्ट समाधान की अनदेखी न करें:
int myArray[10] = { 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 };
अनुपलब्ध मान वाले तत्वों को 0 से आरंभ किया जाएगा:
int myArray[10] = { 1, 2 }; // initialize to 1,2,0,0,0...
तो यह सभी तत्वों को 0 से आरंभ करेगा:
int myArray[10] = { 0 }; // all elements 0
C ++ में, एक खाली इनिशियलाइज़ेशन लिस्ट भी हर एलिमेंट को 0. इनिशियलाइज़ करेगी। C के साथ इसकी अनुमति नहीं है:
int myArray[10] = {}; // all elements 0 in C++
याद रखें कि स्थिर भंडारण अवधि वाली वस्तुएं 0 को इनिशियलाइज़ करेंगी यदि कोई इनिशियलाइज़र निर्दिष्ट नहीं है:
static int myArray[10]; // all elements 0
और यह कि "0" का मतलब "ऑल-बिट्स-जीरो" नहीं है, इसलिए उपरोक्त का उपयोग करना याददाश्त से बेहतर और अधिक पोर्टेबल है ()। (फ़्लोटिंग पॉइंट वैल्यू +0 से शुरू हो जाएगा, पॉइंटर्स टू नल वैल्यू, आदि)
enum { HYDROGEN = 1, HELIUM = 2, CARBON = 6, NEON = 10, … };
औरstruct element { char name[15]; char symbol[3]; } elements[] = { [NEON] = { "Neon", "Ne" }, [HELIUM] = { "Helium", "He" }, [HYDROGEN] = { "Hydrogen", "H" }, [CARBON] = { "Carbon", "C" }, … };
। यदि आप दीर्घवृत्त निकालते हैं…
, तो वे टुकड़े C99 या C11 के तहत संकलन करते हैं।