Array in C++ in Hindi

array एक user defined data type है जो similar data types का एक collection होता है अर्थात,

array-in-cpp-in-hindi

जैसे कि ऊपर दिए गए diagram से पता चलता है, हम एक बार में array में अलग – अलग data-types को एक साथ स्टोर नहीं कर सकते हैं जैसे कि ऊपर दिए गए diagram से पता चलता है। इसमें डाटा को एक श्रृंखला या अनुक्रम के रूप में संग्रहीत किया जाता है।

हमें array की आवश्यकता क्यों है आइए एक अंतर के साथ समझते हैं,

Difference between array and normal variable in C++

जैसा कि हम जानते हैं, एक variable को एक समय में एक ही value को store कर सकता है, जबकि array एक ही समय में एक से ज्यादा values (जो एक ही प्रकार के होते हैं) को store कर सकता है.

चलिए इसे उदाहरण से समझते हैं ,

एक normal variable का प्रयोग ,करके

int x=5; // normal variable

difference-between-array-and-normal-array-cpp

जबकि array -variable का प्रयोग करके ,

int x[5] = { 3,2,1,2,5 }; //array-variable

 

why-we-use-array-in-cpp?

जैसा कि आप ऊपर देख सकते हैं, जहां एक normal variable एक समय पर केवल एक value (5) का store कर रहा है, जबकि वहीं पर एक array -variable एक ही प्रकार के 5 values (3,2,1,2,5) store कर रहा है ।

Remember

  • array में, stored value को array – element कहा जाता है।
  • किसी array में values को store और print / access करने के लिए, हम इनके index – value से इन्हे access करते हैं जिसके लिए हम loop को प्रयोग में लाते हैं।
  • एक array – name हमेशा अपने पहले element के base – address को refer करता है।

Type of array in C++

C ++ में array के दो types हैं –

  • single dimensional array
  • multi-Dimensional array

single dimensional array in C++

यह एक array का एक सरल रूप है। आप इसे list भी कह सकते हैं।

declaration of a single dimensional array in C++

हम array को इसके नाम (जो कि एक identifier होता है ), size और data – type के declare करते हैं । जो निम्नलिखित है।

storage_class data type array_name[size];

Example

int arr1[5];  // will store numeric
char arr2[6]; // will store character
float arr3[4]; // will decimal character

यहाँ arr1, arr2 और arr3 identifiers हैं, जिसमें arr1 only numeric , arr2 only character और arr3 only decimal value ही संग्रहीत करेगा।

जब हम एक array को declare करते हैं, तो हम compiler को बताते हैं कि हम array में कितनी value स्टोर करना चाहते हैं, अर्थात्।

int arr1[5]; // will store 5 numeric value
char arr2[6]; // will store 6 character value
float arr3[4] // will store 4 decimal value

परन्तु क्या होगा। अगर हम इनके array के size के अनुसार इनमे values store ना करें अर्थात कभी values कम और ज्यादा भी तो हो सकते हैं। इसके बारे में आगे बताया गया है।

initialization of array in C++

जैसा कि हम जानते हैं, array में stored values को array-element कहा जाता है। एक normal variable की तरह, हम array -variable को भी initialize कर सकते हैं।

इसका syntax नीचे दिया गया है –

Storage-class data-type array-name[size]={ list };

यहाँ पर list array -element प्रदर्शित कर रही है जिसमें array-elements को एक अनुक्रम में comma का प्रयोग करके initialize किया जाता है।

उदाहरण-

int arr1 variable में 6 number हैं और float arr2 variable में 4 decimal type value ही स्टोर होंगे-

int arr1[6]={3,1,8,3,5,6};
float arr2[4]={2.3,4.3,1.5,6.7};

लेकिन यह हमेशा आवश्यक नहीं है कि किसी array के सभी elements को initialize किया जाए,

int arr[6]={3,4,5,2};

मतलब,

array-initialization-in-cpp-hindi

 

जैसा कि आप देख सकते हैं, हमने केवल 4 value लिए हैं, लेकिन array -size 6 होने के कारण, array ने 6 element (value ) के लिए memory में जगह ली है जो इसका disadvantage है।

calculating array-size in C++

इसका program नीचे दिया गया है, जहाँ array का size ज्ञात करने के लिए sizeof() operator का प्रयोग किया गया है –

sizeof() operator का उपयोग करके एक array-variable की मेमोरी साइज़ का पता लगाया गया है-

नीचे दिए गए program में, array size 6 दिया गया है, जबकि 4 ही values को initialize किया गया है।

int arr[6]={3,4,5,2};

इसलिए array का memory size 8 byte (प्रत्येक element 2 byte लेगा ) होना था। लेकिन array का size 6 declared किया है इसलिए array का memory size 12 बाइट होगा। क्योंकि 6 x 2 बाइट = 12 बाइट।

Find out C++ array size in own sytem

#include<iostream.h>
#include<conio.h>

void main()
{
   clrscr();
   int arr[6]={3,4,5,2};         // initialization of array elment with 6 size of array
   
    cout<<"size of int       : "<<sizeof(int);  // int take 2 byte</strong>
   cout<<"\nsize of int array: "<<sizeof(arr);  // now arr is int type so it take 6x2=12 byte

    getch();
}

OUTPUT

size of int      : 2
size of int array: 12

accessing of a single dimensional array element

जैसा कि पहले बताया गया है कि array elements को उनके index – value से access किया जाता है जिसके लिए हम loop को प्रयोग में लाते हैं। करते हैं।

इसे आप नीचे दिए गए Program की मदद से समझ सकते हैं।

Single dimensional array Program in C++

इस Program में, हमने arr[5] का size 5 दिया है, ताकि यह program user से 5 इनपुट store करे। इसमें 2 loop का उपयोग किया जाता है, जिसमें पहला loop arr[5] में input store करता है , जबकि दूसरा loop उन values को print करता है।

#include<iostream.h>
#include<conio.h>

void main()
{
  int i,arr[5];              // array variable declaration
  clrscr();

   for(i= 0; i<5; i++)
     {
        cout<<"Enter "<<i+1<<" Number: ";
        cin>>arr[i];                 // store 5 value at a time
     }

  cout<<"\nDisplay the array element:\n";
  for(i= 0; i<5; i++)
   {
      cout<<"\nDisplay "<<"arr["<<i<<"] Element: "<<arr[i];           // display values
   }

 getch();
}

OUTPUT

Enter 1 Number: 2
Enter 2 Number: 4
Enter 3 Number: 3
Enter 4 Number: 1
Enter 5 Number: 4

Display the array element:

Display arr[0] Element: 2
Display arr[1] Element: 4
Display arr[2] Element: 3
Display arr[3] Element: 1
Display arr[4] Element: 4

advantage and Disadvantage of Array in C++ hindi

  • array type variable में, हम एक ही समय में कई values (same types values ) store कर सकते हैं, जबकि एक normal variable में हम एक ही समय में एक ही value store कर सकते हैं

उदाहरण-
हमें एक program में किसी छात्र के पाँच विषयों के अंक को store करने हैं। ऐसे में एक normal variable के साथ हमें 5 int types variable (प्रत्येक विषय के लिए एक variable ) declare करने होंगे जबकि एक array – variable में, हम केवल सभी 5 विषय को स्टोर करने के लिए केवल एक int type variable ( int arr [5]) declare कर सकते हैं।

  • array एक time पर केवल same data type को ही store कर सकता है

उदाहरण-

यदि हमें किसी छात्र के अंकों के विवरण के साथ एक subject -name भी store करना है, तो इस स्थिति में, हमें दो array declare करने होंगे, जहां पहला array subject – marks और दूसरा array subject – name store करेगा।

हम इस समस्या को हल करने के लिए C ++ में structure का उपयोग कर सकते हैं। इसे आगे बताया गया है।

    • array की memory static memory type की होती है, यानी जब हम array को declare करते हैं, तो हमें इसके size को भी declare करना होता है। जिसे हम runtime में change नहीं कर सकते। यह एक disadvantage है।

उदाहरण-

जैसा कि हमने किसी छात्र के 5 subject के marks को store करने के लिए एक array int arr[5] declare किया है, यह केवल उन छात्रों के अंकों को store कर सकता है जिनके 5 subject हैं अर्थात यदि हमें ऐसे छात्रों के अंक store करने हैं जिनके subject 5 से कम या अधिक हैं तो यह ऐसा करने में असमर्थ होगा , इसके लिए हमें array declaration के समय ही इसके साइज में बदलाव करना होगा। जिसे बेहतर विधि नहीं माना जाएगा।

हां, यदि subject 5 से कम है , तो ऐसे में हम 5 subject तो store कर सकते हैं , लेकिन बाकी बची मेमोरी waste होगी।

लेकिन C ++ में डायनामिक मेमोरी मैनेजमेंट का concept दिया गया है , जिसमे हम runtime पर अपनी आवश्यकता के अनुसार array – size को change कर सकते हैं। इसके बारे में आगे बताया गया है।

Related Exercise

Advance

more about Array,


previous- C++ exit statement in hindi

next- structure in C++ in hindi

Leave a Reply

Your email address will not be published. Required fields are marked *