array in c language in hindi
Rules and Initialization of Arrays in C in Hindi
Rules of Array Declaration in C in Hindi
Introduction
जब हम programming में एक जैसे प्रकार के कई data को store करना चाहते हैं, तो हम Array का प्रयोग करते हैं। C भाषा में array एक ऐसा data structure है जो एक ही type के elements को एक साथ memory में लगातार (contiguous) स्थानों पर store करता है।
Basic Rules of Array Declaration in C
- Array को declare करने से पहले हमें यह तय करना होता है कि वह किस data type का होगा – जैसे int, float, char आदि।
- Array declaration में उसके नाम के बाद square brackets [] का प्रयोग होता है जिसमें array की size दी जाती है।
- Array का नाम एक valid identifier होना चाहिए (जैसे कि किसी variable का नाम होता है)।
- Array size हमेशा एक positive integer value होनी चाहिए।
- Array declaration करते समय semicolon (;) अनिवार्य होता है।
Syntax of Array Declaration
data_type array_name[array_size];
Examples
int marks[5]; // integer array with 5 elements
float price[10]; // float array with 10 elements
char grade[3]; // character array with 3 elements
Memory Representation
जब हम int marks[5]; लिखते हैं, तो C कंपाइलर memory में 5 लगातार जगहों पर 4-4 bytes (integer के लिए) reserve कर देता है।
Array Initialization Techniques in C in Hindi
Introduction
Array initialization का मतलब है कि जब हम array declare करते हैं, तभी उसके अंदर कुछ values डाल देना। इसे हम कई तरीकों से कर सकते हैं।
1. Compile-Time Initialization
- Array declare करते समय ही values assign कर देना।
- इसमें हमें array की size देना optional होता है।
int marks[5] = {90, 85, 75, 80, 95};
int roll[] = {1, 2, 3, 4, 5}; // size compiler अपने आप तय कर लेगा
2. Partial Initialization
- अगर initialization में दिए गए values, declared size से कम हों तो बाकी elements को default values मिलती हैं।
int numbers[5] = {10, 20}; // बाकी तीन elements को 0 assign होंगे
3. Designated Initialization (C99 onwards)
- C के नए versions में हम किसी specific index पर value assign कर सकते हैं।
int marks[5] = {[2] = 75, [4] = 95}; // index 2 और 4 पर value
Default Values in Array Initialization in Hindi
Default Values क्या होती हैं?
जब हम array को पूरी तरह initialize नहीं करते, तब बाकी elements को compiler द्वारा default values दी जाती हैं।
Important Points:
- Local scope में declared array के uninitialized elements garbage values रखते हैं।
- Global या static array के uninitialized elements को default value 0 मिलती है।
Example (Local Array)
void main() {
int a[5]; // local array
printf("%d", a[2]); // unpredictable (garbage value)
}
Example (Global Array)
int a[5]; // global array
void main() {
printf("%d", a[2]); // Output: 0
}
Common Errors in Array Declaration in Hindi
1. Size देना भूल जाना
int a[]; // ❌ Error: size unspecified and no initializer
2. Size को zero या negative रखना
int a[0]; // ❌ Error
int b[-5]; // ❌ Error
3. Size non-integer रखना
int a[5.5]; // ❌ Error: size must be integer
4. Array Boundaries का उल्लंघन
- Declared size से बाहर access करना undefined behavior देता है।
int a[3] = {10, 20, 30};
printf("%d", a[5]); // ❌ Error: out of bounds access
5. Wrong Data Type Initialization
int a[3] = {'a', 'b', 'c'}; // Though it compiles, data type mismatch may confuse beginners
6. Forgetting Semicolon
int a[5] = {1, 2, 3, 4, 5} // ❌ Error: missing semicolon
सारांश (Recap Points)
- Array declare करने से पहले data type और size का ध्यान रखें।
- Array initialization कई तरीकों से किया जा सकता है – compile-time, partial, designated आदि।
- Local और global arrays के default behavior को समझना जरूरी है।
- Common errors जैसे size न देना, boundaries cross करना, या data type mismatch से बचें।
छोटा Table (Difference Table: Local vs Global Arrays)
| Property | Local Array | Global Array |
|---|---|---|
| Default Values | Garbage | 0 |
| Scope | Function के अंदर | Program के सभी functions में |
| Storage Class | Automatic | Static |
Beginner Friendly Suggestion
- हमेशा array को initialize करते समय values की संख्या और size पर ध्यान दें।
- Array की boundaries को cross ना करें।
- Debug करने के लिए loop से सभी values print करें।
- कोशिश करें कि initialization करते समय size भी दें – इससे compiler को पता रहता है कि कितने elements reserve करने हैं।
FAQs
int numbers[5];इसका मतलब है कि एक integer type का array बनाया गया है जिसमें 5 elements store किए जा सकते हैं।
int marks[3] = {90, 85, 95};इससे हर index पर value assign हो जाती है। यदि size न दें तो compiler अपने आप count कर लेता है:
int marks[] = {90, 85, 95};
लेकिन अगर array local declare किया गया हो तो उसके elements की default value undefined होती है यानी garbage values।
उदाहरण:
int a[3]; a[5] = 100; ये गलत है और memory corruption का कारण बन सकता है।
- Array की size न देना और initialization भी न करना
- Size को negative या decimal रखना
- Semicolon भूल जाना
- Declared size से ज्यादा values assign करना
- Wrong data type का initialization