Array Value Initialization
Array Value
Initialization
जिस प्रकार हम किसी भी अन्य Variable
को प्रारंभिक मान प्रदान कर सकते हैं , वैसे ही हम Array को भी प्रारंभिक मान दे सकते हैं
One Dimensional Array को हम
निम्नानुसार मान प्रदान कर सकते हैं |
static Data_Type Array_Name [size] = {List of
Values};
int b[4]= {12,22,22,1}
इस Array में
एक int प्रकार का Variable b है ,
जिसका आकार 4 है |
यानी
यह Variable
Memory में लगातार int प्रकार के चार मान Store
हो सके ऐसी Location पर Store होगा और हर Location पर Store Elements का मान निम्नानुसार होगा
b[0] = 12
b[1] = 22
b[2] = 22
b[3] = 1
यदि हम Array
के कुछ मान Initialize करें व कुछ छोड़ दें तो
शेष के मान स्वयं ही 0 Initialize हो जाते है लेकिन ये तभी
होता है जब Array को Static Storage Class में Declare किया गया हो जैसे :
int b[4] = {1};
यह Memory
में प्रथम Element को 1 Initialize करेगा शेष को 0 Initialize कर देगा |
यानी
b[0] =1
b[1] = 0
b[2] = 0
b[3] = 0
इसी प्रकार Two
Dimensional व Multi Dimensional Array को भी
हम Initialize कर सकते है |
जैसे
int b[2] [3] =
{1,2,3,4,5,6}
इस Statement
से प्रथम Row के तीन Column का मान 1,2 व 3 हो जाएगा व
दूसरे Row के तीनो Column
का मान क्रमशः 4 , 5 व 6 हो जाएगा | इसे
अन्य तरीके से भी Initialize कर सकते है |
static int b[2] [3] =
{1,2,3} ,{4,5,6};
or
static int b[2] [3] =
{{1,2,3} {4,5,6}};
यदि हम कहीं पर
मान Assign
ना करने तो वहां पर Automatically 0 Assign हो
जाता है | जैसे
static int b[2] [3] =
{1,2},{4};
or
static int b[2] [3] =
{{1,2}{4}};
इन दोनों
उदाहरणों में प्रथम Row के तीसरे Column
व दूसरी Row के दूसरे व तीसरे Column का मान Assign नहीं किया है , इसलिए इनका मान स्वयं
ही 0 Initialize हो जाएगा जब हम चाहते हो कि किसी Array
के सभी मान 0 हो तो हम इसे निम्नानुसार भी Assign
कर सकते हैं |
static int b[2] [3] =
{0} , {0};
or
static int b[2] [3] =
{{0} {0}};
इस प्रकार सभी Array
के सभी Elements का मान 0 हो जाता है | यदि
हमें Multi
Dimensional Array को मान प्रदान करना हो तो भी यही तरीके अपनाते है
|
किसी Array
का Declaration करते समय हम Array की Size को किसी Constant Expression का प्रयोग करके भी Specify कर सकते है |
जैसे
#define
LEAP1 /*in Leap Years */
int
days [ 31+28+LEAP+31+30+31+30+31+31+30+31+30+31];
जब हम इस तरह से Array
Declaration Statement लिखते हैं , तो इस Array की कुल Size 366 हो जाती है |
Program
#include<stdio.h>
main()
{
int i, num[10];
//Traversing the Array For Input 10 Array Element
for (i=0; i<10; i++)
{
printf("\n Enter%d Element of Array: ",i);
scanf("%d",&num[i]);
}
//Traversing the ARRAY For Displaying Entered Elements
for (i=0; i<10; i++)
{
printf("\n%d Element Of Array:",num [i]);
}
getch();
}
इस प्रोग्राम में
Loop
चलने के लिए int प्रकार का Variable i व num नाम का , int प्रकार का
एक Array लिया है , जिसकी size 10 Element की है | Data Input करने के लिए for Loop चलाया गया है |
जब
प्रथम बार Loop चलता है , तब प्रथम मान Input
करने के लिए Message आता है |
i
का मान 0 होता है , जिससे num [i]
Statement के कारण input किया गया प्रथम मान num[0]
Location पर Store हो जाता है |
यहां
मान Input
करते ही Loop पुनः Execute होता है और हमसे दूसरा मान मांगता है |
अब
i
का मान बढ़ कर 1 हो चूका होता है , इसलिए Input
किया जाने वाला मान num[1] Location पर Store
हो जाता है |
इस प्रकार क्रम से
मान num[9]
तक Input होता है |
हम
Array
के Address द्वारा उसके Elements के साथ Arithmetical व विभन्न प्रकार की Logical
या Relational प्रक्रियाएं कर सकते हैं |
Program
#include<stdio.h>
main()
{
int num[10],square[10],i;
//Inputting Array Elements
for (i=0; i<10; i++)
{
printf("Enter%dElements :",i);
scanf("%d",&num[i]);
}
/*Calculating Square of Every Elements And Placing that in Square Array */
for (i=0; i<10; i++)
{
square[i]=num[i]*num[i];
}
//Displaying Both Array Elements
for (i=0; i<10; i++)
{
printf("\n Square of%d is %d",num[i],square[i]);
}
getch();
}
इस प्रोग्राम में
हमने दो Array
लिए हैं | पहला
Array
num[i] प्रथम for Loop के दौरान मानों को Input
करता है | दूसरा
for
Loop num [i] में Store मानों का वर्ग ज्ञात
करते हुए दूसरे Array Square [i] में रखता है और तीसरे Loop
द्वारा दोनों Array में Store मानों को Output में Print कर
दिया गया है |
No comments