
Chapter 11:
Arrays
Author: Er. Mujtaba Ansari
जब एक ही जगह पर बहुत सारा Data आसानी से संभालना हो, तो C प्रोग्रामिंग में Arrays सबसे उपयोगी तकनीकों में से एक हैं। Arrays की मदद से छात्रों के Marks, Products की कीमत, User Data और Transactions जैसी कई Values को व्यवस्थित तरीके से Store, Search और Process किया जा सकता है। इससे कोड छोटा, सही ढंग से और काम करने में आसान बनता है। जिससे हर काम आसानी से किया जा सकता है।
📚 C Programming का पूरा Course
🧑💻 Chapter 1: C Programming की Basic जानकारी
📜 Chapter 2: C Language का History और Development
⚙️ Chapter 3: C Compiler Install करना
💻 Chapter 4: अपना पहला C Program लिखना
🏗️ Chapter 5: C Program की Structure
📦 Chapter 6: Variables और Data Types
🔢 Chapter 7: C में Operators
⌨️ Chapter 8: Input और Output Functions
🔀 Chapter 9: Decision Making और Conditional Statements
🔄 Chapter 10: Decision Making और Loops
📊 Chapter 11: Arrays – Current Chapter
🔤 Chapter 12: Strings
🛠️ Chapter 13: Functions
👉 Chapter 14: Pointers
🏛️ Chapter 15: Structures और Unions
📁 Chapter 16: File Handling
C Programming में Arrays: Beginners से Advanced तक पूरी जानकारी
Array C Programming का एक बहुत जरूरी topic है। इसकी मदद से हम एक ही तरह की कई values को एक जगह पर आसानी से store और manage कर सकते हैं।
जैसे Student Marks, Product Prices, Employee Salaries, Customer Records, Sales Data और Scores आदि को Array में आसानी से store किया जा सकता है।
Arrays को समझना इसलिए भी जरूरी है क्योंकि आगे चलकर Strings, Matrices, Searching, Sorting, Data Structures और Algorithms जैसे important topics को समझने में इसका बहुत फायदा मिलता है।
Array क्या है?
Array एक ऐसा तरीका है जिसमें एक ही Data Type की कई values को एक ही नाम के अंदर store किया जाता है।
मान लीजिए आपको 5 students के marks store करने हैं।
Array के बिना आपको अलग-अलग Variables बनाने पड़ेंगे:
int mark1 = 85;
int mark2 = 78;
int mark3 = 92;
int mark4 = 88;
int mark5 = 76;
यह छोटे data के लिए ठीक है, लेकिन अगर 100 या 1000 values store करनी हों, तो बहुत सारे Variables बनाने पड़ेंगे।
Array की मदद से यही काम आसानी से किया जा सकता है:
int marks[5] = {85, 78, 92, 88, 76};
अब सभी 5 marks marks नाम के एक ही Array में store हैं।
आसान तरीके से समझें
Array को आप एक ऐसी अलमारी की तरह समझ सकते हैं जिसमें कई अलग-अलग खाने होते हैं। हर खाने में एक value रखी जा सकती है और हर खाने का अपना एक Index Number होता है।
उदाहरण:
int numbers[5] = {10, 20, 30, 40, 50};
यहाँ:
numbers→ Array का नाम5→ Array में कुल 5 elements10, 20, 30, 40, 50→ Array की values0, 1, 2, 3, 4→ इनके Index Numbers
Array की मुख्य बातें
- Array में एक ही Data Type की values store होती हैं।
- सभी values को एक ही नाम से manage किया जा सकता है।
- हर element को उसके Index से access किया जाता है।
- C में Array का Index
0से शुरू होता है। - Array के elements memory में एक-दूसरे के पास store होते हैं।
Arrays की जरूरत क्यों पड़ती है?
मान लीजिए किसी school में 1,000 students के marks store करने हैं।
अगर हर student के लिए अलग Variable बनाएँ:
int mark1;
int mark2;
int mark3;
...
int mark1000;
तो Program बहुत बड़ा और manage करना मुश्किल हो जाएगा।
Array की मदद से:
int marks[1000];
एक ही Array में 1,000 marks store किए जा सकते हैं।
इससे Program छोटा, साफ और manage करना आसान हो जाता है।
Arrays के मुख्य फायदे
आप Arrays का उपयोग करके:
- एक ही नाम से कई values store कर सकते हैं।
- Code को छोटा और व्यवस्थित रख सकते हैं।
- बहुत सारे data को आसानी से manage कर सकते हैं।
Loopकी मदद से सभी values पर आसानी से काम कर सकते हैं।- Data को Search और Sort करना आसान होता है।
- Tables और Matrices बनाई जा सकती हैं।
- बड़े Programs को समझना और manage करना आसान होता है।
- आगे के Advanced Programming concepts को समझने में मदद मिलती है।
Real Life में Arrays का उपयोग
Arrays का इस्तेमाल केवल Programming examples में नहीं होता। Real-life applications में भी इनका बहुत उपयोग होता है।

E-Commerce
E-Commerce applications में Arrays की मदद से Product Prices, Product IDs, Stock Quantity, Ratings आदि data को manage किया जा सकता है।
Banking
Banking applications में Account Balances, Transaction Records और दूसरे numerical data को manage करने में Arrays उपयोगी हो सकते हैं।
Games
Games में Player Scores, Levels, Positions और दूसरे game-related data को store करने के लिए Arrays का उपयोग किया जाता है।
Healthcare
Healthcare applications में Test Results, Measurements और दूसरे numerical data को store और process किया जा सकता है।
Data Analysis
बड़ी मात्रा में numerical data को store और process करने के लिए Arrays बहुत उपयोगी होते हैं।
आसान भाषा में:
Array की मदद से बहुत सारे related data को एक जगह Store, Process, Search और Sort करना आसान हो जाता है।
Array कैसे काम करता है?
मान लीजिए हमने यह Array बनाया:
int marks[5] = {87, 78, 91, 80, 76};
इसमें कुल 5 elements हैं।
हर element को पहचानने के लिए उसका Index Number होता है।
C में Index हमेशा 0 से शुरू होता है।
Array: marks
Index: 0 1 2 3 4
↓ ↓ ↓ ↓ ↓
Value: 87 78 91 80 76
इसलिए:
marks[0] = 87
marks[1] = 78
marks[2] = 91
marks[3] = 80
marks[4] = 76
खास बात:
अगर Array का size 5 है:
int marks[5];
तो valid Index होंगे:
0 1 2 3 4
Last Index हमेशा:
Size - 1
होता है।
इसलिए:
5 - 1 = 4
Array Indexing क्या है?
Array के किसी element को उसके Index Number की मदद से access करना Array Indexing कहलाता है।
उदाहरण:
int numbers[5] = {10, 20, 30, 40, 50};
पहली value:
numbers[0]
दूसरी value:
numbers[1]
तीसरी value:
numbers[2]
और इसी तरह आगे।
उदाहरण:
printf("%d", numbers[3]);
Output:
40
क्योंकि numbers[3] में 40 store है।
हमेशा याद रखें:
First element → Index 0
Second element → Index 1
Third element → Index 2
...
Last element → Index size - 1
C में Array Declare कैसे करें?
Array को Declare करने का basic syntax है:
data_type array_name[size];
उदाहरण:
int marks[5];
यहाँ:
int→ Data Typemarks→ Array Name5→ Array Size
एक और example:
float prices[10];
यह 10 float values store करने के लिए Array बनाएगा।
Array को Initialize कैसे करें?
Array बनाते समय उसमें values भी दी जा सकती हैं।
उदाहरण:
int numbers[5] = {10, 20, 30, 40, 50};
इसमें values इस तरह store होंगी:
Index Value
0 10
1 20
2 30
3 40
4 50
हम Array का size लिखे बिना भी Initialize कर सकते हैं:
int numbers[] = {10, 20, 30, 40, 50};
इस स्थिति में Compiler खुद elements की संख्या के आधार पर Array का size तय कर सकता है।
Array Elements को Access कैसे करें?
Array के किसी element को access करने के लिए:
array_name[index]
का इस्तेमाल किया जाता है।
उदाहरण:
int numbers[5] = {10, 20, 30, 40, 50};
printf("%d", numbers[2]);
Output:
30
क्योंकि:
numbers[2] → 30
Array के Element को Change कैसे करें?
Array के किसी element की value को बाद में बदला भी जा सकता है।
int numbers[5] = {10, 20, 30, 40, 50};
numbers[2] = 100;
अब Array होगा:
10 20 100 40 50
यहाँ numbers[2] की पुरानी value 30 को बदलकर 100 कर दिया गया है।
Loop की मदद से Array को Traverse करना
Array के सभी elements को एक-एक करके देखना या process करना Traversal कहलाता है।
इसके लिए आमतौर पर for Loop का इस्तेमाल किया जाता है।
#include <stdio.h>
int main(void)
{
int numbers[5] = {10, 20, 30, 40, 50};
for (int i = 0; i < 5; i++)
{
printf("%d ", numbers[i]);
}
return 0;
}
Output
10 20 30 40 50
यह कैसे काम करता है?
Loop पहले:
i = 0
से शुरू होता है।
फिर:
numbers[0] → 10
numbers[1] → 20
numbers[2] → 30
numbers[3] → 40
numbers[4] → 50
इसीलिए Arrays और Loops का इस्तेमाल अक्सर साथ में किया जाता है।
Array का एक पूरा Example
#include <stdio.h>
int main(void)
{
int arr[5] = {10, 20, 30, 40, 50};
printf("Array elements are:\n");
for (int i = 0; i < 5; i++)
{
printf("%d ", arr[i]);
}
return 0;
}
Output
Array elements are:
10 20 30 40 50
C में Arrays के Types
C में Arrays को उनकी dimensions के आधार पर समझा जा सकता है।
मुख्य Types हैं:
- One-Dimensional Array
- Two-Dimensional Array
- Multidimensional Array
1. One-Dimensional Array
One-Dimensional Array में values एक ही sequence या row में store होती हैं।

उदाहरण:
int numbers[5] = {10, 20, 30, 40, 50};
इसे इस तरह समझ सकते हैं:
Index 0 1 2 3 4
↓ ↓ ↓ ↓ ↓
Value 10 20 30 40 50
Real-Life Example
Student के 5 subjects के marks:
int marks[5] = {85, 78, 92, 88, 76};
Wire a Program Program: Total 3 Subjects के Marks और Average निकालना
Question: ऐसा Program लिखें जिसमें Student के 3 subjects के marks लिए जाएँ और उनका Total और Average निकाला जाए।
#include <stdio.h>
int main(void)
{
int M[3], i, total = 0;
float avg;
printf("INPUT DETAILS\n");
for (i = 0; i < 3; i++)
{
printf("Enter marks in subject %d: ", i + 1);
scanf("%d", &M[i]);
}
printf("\nOUTPUT DETAILS\n");
for (i = 0; i < 3; i++)
{
printf("Subject [%d] = %d\n", i + 1, M[i]);
total = total + M[i];
}
avg = total / 3.0f;
printf("Total = %d\n", total);
printf("Average = %.2f\n", avg);
return 0;
}
Output
INPUT DETAILS
Enter marks in subject 1: 80
Enter marks in subject 2: 75
Enter marks in subject 3: 90
OUTPUT DETAILS
Subject [1] = 80
Subject [2] = 75
Subject [3] = 90
Total = 245
Average = 81.67
Array में सबसे बड़ी संख्या निकालने का Program
Question: दिए गए Array में सबसे बड़ी संख्या निकालने का Program लिखिए।
#include <stdio.h>
int main(void)
{
int A[20], N, i, L;
printf("Enter the array length: ");
scanf("%d", &N);
printf("Enter the array elements:\n");
for (i = 0; i < N; i++)
{
scanf("%d", &A[i]);
}
L = A[0];
for (i = 1; i < N; i++)
{
if (A[i] > L)
{
L = A[i];
}
}
printf("Largest element = %d\n", L);
return 0;
}
Output
Enter the array length: 5
Enter the array elements:
10 25 7 45 30
Largest element = 45
Explanation:
Program सबसे पहले पहले element को Largest मानता है।
फिर बाकी elements के साथ उसकी तुलना करता है।
अगर उससे बड़ी value मिलती है, तो वह नई value को Largest मान लेता है।
Array को Reverse कैसे करें?
Reverse करने का मतलब है Array के elements को उल्टे क्रम में रखना।
उदाहरण:
Original:
10 20 30 40 50
Reversed:
50 40 30 20 10
Third Variable का इस्तेमाल करके Array को Reverse करने का Program
Question: दिए गए Array को Third Variable की मदद से Reverse करने का Program लिखिए।
#include <stdio.h>
int main(void)
{
int A[20], N, i, j, temp;
printf("Enter the array length: ");
scanf("%d", &N);
printf("Enter the array elements:\n");
for (i = 0; i < N; i++)
{
scanf("%d", &A[i]);
}
for (i = 0, j = N - 1; i < j; i++, j--)
{
temp = A[i];
A[i] = A[j];
A[j] = temp;
}
printf("Reversed list:\n");
for (i = 0; i < N; i++)
{
printf("%5d", A[i]);
}
return 0;
}
Output
Enter the array length: 5
Enter the array elements:
10 20 30 40 50
Reversed list:
50 40 30 20 10
Explanation:
Program पहले element को last element के साथ swap करता है।
फिर दूसरे element को second-last element के साथ swap करता है।
यह process Array के बीच तक चलता है।
2. Two-Dimensional Array
Two-Dimensional Array (2D Array) में data rows और columns के रूप में store होता है।

इसे आप एक Table की तरह समझ सकते हैं।
उदाहरण:
int matrix[2][3] = {
{10, 20, 30},
{40, 50, 60}
};
इसे इस तरह देखा जा सकता है:
Column
0 1 2
┌────┬────┬────┐
Row 0 │ 10 │ 20 │ 30 │
├────┼────┼────┤
Row 1 │ 40 │ 50 │ 60 │
└────┴────┴────┘
50 को access करने के लिए:
matrix[1][1]
क्योंकि:
Row = 1
Column = 1
2D Array का उपयोग कहाँ होता है?
2D Arrays का उपयोग:
- Tables
- Matrices
- Marksheets
- Game Boards
- Rows और Columns वाले Data
में किया जा सकता है।
3×3 Matrix का Lower Triangle Print करने का Program
Question: 3×3 Matrix के नीचे वाले हिस्से (Lower Triangle) को Print करने का Program लिखिए।
#include <stdio.h>
int main(void)
{
int A[3][3], i, j;
printf("Enter the elements of the matrix:\n");
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
{
scanf("%d", &A[i][j]);
}
}
printf("\nLower triangle of the matrix:\n");
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
{
if (j <= i)
printf("%5d", A[i][j]);
else
printf("%5s", "");
}
printf("\n");
}
return 0;
}
अगर Matrix है:
1 2 3
4 5 6
7 8 9
तो Lower Triangle होगा:
1
4 5
7 8 9
Logic
Lower Triangle के लिए:
j <= i
का इस्तेमाल किया जाता है।
3×3 Matrix का Upper Triangle Print करने का Program
Question: 3×3 Matrix के ऊपर वाले हिस्से (Upper Triangle) को Print करने का Program लिखिए।
#include <stdio.h>
int main(void)
{
int A[3][3], i, j;
printf("Enter the elements of the matrix:\n");
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
{
scanf("%d", &A[i][j]);
}
}
printf("\nUpper triangle of the matrix:\n");
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
{
if (j >= i)
printf("%5d", A[i][j]);
else
printf("%5s", "");
}
printf("\n");
}
return 0;
}
Example
Input:
1 2 3
4 5 6
7 8 9
Output:
1 2 3
5 6
9
Upper Triangle के लिए:
j >= i
का इस्तेमाल किया जाता है।
Principal या Main Diagonal Print करना
Matrix की Main Diagonal को Principal Diagonal भी कहा जाता है।
उदाहरण:
1 2 3
4 5 6
7 8 9
इसकी Main Diagonal है:
1
5
9
3×3 Matrix की Main Diagonal Print करने का Program
Question: 3×3 Matrix की Main Diagonal को Print करने का Program लिखिए।
#include <stdio.h>
int main(void)
{
int A[3][3], i, j;
printf("Enter the elements of the matrix:\n");
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
{
scanf("%d", &A[i][j]);
}
}
printf("\nPrincipal diagonal of the matrix:\n");
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
{
if (i == j)
printf("%5d", A[i][j]);
else
printf("%5s", "");
}
printf("\n");
}
return 0;
}
Logic
Main Diagonal के लिए:
i == j
होना चाहिए।
Secondary Diagonal Print करना
3×3 Matrix:
1 2 3
4 5 6
7 8 9
की Secondary Diagonal है:
3
5
7
3×3 Matrix की Secondary Diagonal Print करने का Program
Question: 3×3 Matrix की Secondary Diagonal को Print करने का Program लिखिए।
#include <stdio.h>
int main(void)
{
int A[3][3], i, j;
printf("Enter the elements of the matrix:\n");
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
{
scanf("%d", &A[i][j]);
}
}
printf("\nSecondary diagonal of the matrix:\n");
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
{
if (i + j == 2)
printf("%5d", A[i][j]);
else
printf("%5s", "");
}
printf("\n");
}
return 0;
}
Logic
3×3 Matrix के लिए Secondary Diagonal में:
i + j = 2
होता है।
उदाहरण:
0 + 2 = 2
1 + 1 = 2
2 + 0 = 2
Matrix का Transpose क्या होता है?
Matrix का Transpose बनाने पर उसकी Rows, Columns बन जाती हैं और Columns, Rows बन जाते हैं।
उदाहरण:
Original Matrix:
1 2 3 4
5 6 7 8
9 10 11 12
Transpose:
1 5 9
2 6 10
3 7 11
4 8 12
3×4 Matrix का Transpose निकालने का Program
Question: 3×4 Matrix का Transpose Print करने का Program लिखिए।
#include <stdio.h>
int main(void)
{
int A[3][4], i, j;
printf("Enter the elements of the matrix:\n");
for (i = 0; i < 3; i++)
{
for (j = 0; j < 4; j++)
{
scanf("%d", &A[i][j]);
}
}
printf("\nTranspose of the matrix:\n");
for (j = 0; j < 4; j++)
{
for (i = 0; i < 3; i++)
{
printf("%5d", A[i][j]);
}
printf("\n");
}
return 0;
}
Important Point
अगर Matrix का size:
3 × 4
है, तो Transpose के बाद उसका size:
4 × 3
हो जाएगा।
Matrix में Row Sum और Column Sum निकालना
2D Array की मदद से हम हर Row और Column का Sum भी निकाल सकते हैं।
उदाहरण:
1 2 3 4
5 6 7 8
9 10 11 12
Row Sums:
10
26
42
Column Sums:
15 18 21 24
3×4 Matrix का Row Sum और Column Sum निकालने का Program
Question: 3×4 Matrix को Print करने के साथ-साथ उसकी सभी Rows और Columns का Sum निकालने का Program लिखिए।
#include <stdio.h>
int main(void)
{
int A[3][4];
int Rs[3] = {0};
int Cs[4] = {0};
int i, j;
printf("Enter the elements of the matrix:\n");
for (i = 0; i < 3; i++)
{
for (j = 0; j < 4; j++)
{
scanf("%d", &A[i][j]);
}
}
for (i = 0; i < 3; i++)
{
for (j = 0; j < 4; j++)
{
Rs[i] = Rs[i] + A[i][j];
}
}
for (j = 0; j < 4; j++)
{
for (i = 0; i < 3; i++)
{
Cs[j] = Cs[j] + A[i][j];
}
}
printf("\nMatrix with Row Sums:\n");
for (i = 0; i < 3; i++)
{
for (j = 0; j < 4; j++)
{
printf("%5d", A[i][j]);
}
printf(" = %d\n", Rs[i]);
}
printf("\nColumn Sums:\n");
for (j = 0; j < 4; j++)
{
printf("%5d", Cs[j]);
}
printf("\n");
return 0;
}
Example
Input:
1 2 3 4
5 6 7 8
9 10 11 12
Output:
1 2 3 4 = 10
5 6 7 8 = 26
9 10 11 12 = 42
Column Sums:
15 18 21 24
जरूरी Formula
Row का Sum:
Rs[i] = Rs[i] + A[i][j];
Column का Sum:
Cs[j] = Cs[j] + A[i][j];
दो Matrices को Add करना
दो Matrices को Add करने के लिए दोनों का Rows और Columns का size समान होना चाहिए।
उदाहरण:
2×3 + 2×3 = Possible
लेकिन:
2×3 + 3×2 = Not Possible
दो Matrices को जोड़ने का Program
Question: दो Matrices को जोड़ने का Program लिखिए।
#include <stdio.h>
int main(void)
{
int A[5][5], B[5][5], C[5][5];
int i, j, m, n, p, q;
printf("Enter the number of rows and columns of Matrix A: ");
scanf("%d %d", &m, &n);
printf("Enter the number of rows and columns of Matrix B: ");
scanf("%d %d", &p, &q);
if (m != p || n != q)
{
printf("Matrices cannot be added.\n");
return 0;
}
printf("\nEnter the elements of Matrix A:\n");
for (i = 0; i < m; i++)
{
for (j = 0; j < n; j++)
{
scanf("%d", &A[i][j]);
}
}
printf("\nEnter the elements of Matrix B:\n");
for (i = 0; i < p; i++)
{
for (j = 0; j < q; j++)
{
scanf("%d", &B[i][j]);
}
}
printf("\nResultant Matrix:\n");
for (i = 0; i < m; i++)
{
for (j = 0; j < n; j++)
{
C[i][j] = A[i][j] + B[i][j];
printf("%5d", C[i][j]);
}
printf("\n");
}
return 0;
}
जरूरी नियम
दो Matrices को तभी जोड़ा जा सकता है, जब दोनों में Rows और Columns की संख्या समान हो।
उदाहरण:
2×3 + 2×3 = जोड़ सकते हैं
लेकिन:
2×3 + 3×2 = जोड़ नहीं सकते
दो Matrices को Multiply करना
Matrix Multiplication में एक जरूरी Rule है।
अगर:
Matrix A = m × n
Matrix B = p × q
तो Multiplication तभी possible होगा जब:
n = p
हो।
Resultant Matrix का size होगा:
m × q
उदाहरण:
A = 2×3
B = 3×2
तो:
A × B = 2×2
दो Matrices को Multiply करने का Program
Question: दो Matrices को Multiply करने का Program लिखिए।
#include <stdio.h>
int main(void)
{
int A[5][5], B[5][5], C[5][5];
int i, j, k;
int m, n, p, q;
printf("Enter the number of rows and columns of Matrix A: ");
scanf("%d %d", &m, &n);
printf("Enter the number of rows and columns of Matrix B: ");
scanf("%d %d", &p, &q);
if (n != p)
{
printf("Matrices cannot be multiplied.\n");
return 0;
}
printf("\nEnter the elements of Matrix A:\n");
for (i = 0; i < m; i++)
{
for (j = 0; j < n; j++)
{
scanf("%d", &A[i][j]);
}
}
printf("\nEnter the elements of Matrix B:\n");
for (i = 0; i < p; i++)
{
for (j = 0; j < q; j++)
{
scanf("%d", &B[i][j]);
}
}
for (i = 0; i < m; i++)
{
for (j = 0; j < q; j++)
{
C[i][j] = 0;
for (k = 0; k < n; k++)
{
C[i][j] = C[i][j] + A[i][k] * B[k][j];
}
}
}
printf("\nResultant Matrix:\n");
for (i = 0; i < m; i++)
{
for (j = 0; j < q; j++)
{
printf("%5d", C[i][j]);
}
printf("\n");
}
return 0;
}
जरूरी नियम
अगर:
Matrix A = m × n
Matrix B = p × q
तो दोनों Matrices को Multiply तभी किया जा सकता है, जब:
n = p
Multiply करने के बाद बनने वाली Matrix का size होगा:
m × q
Example
अगर:
A = 2×3
B = 3×2
तो:
A × B = 2×2
यानी पहली Matrix के Rows और दूसरी Matrix के Columns के हिसाब से Resultant Matrix का size तय होता है।
3. Multidimensional Array
जिस Array में दो से ज्यादा dimensions हों, उसे Multidimensional Array कहा जाता है।

उदाहरण:
int data[2][3][4];
यह एक 3D Array है।
Multidimensional Arrays का उपयोग ऐसे data में किया जा सकता है जिसमें एक से ज्यादा levels हों।
उदाहरण:
- Scientific Data
- Simulations
- Complex Calculations
- 3D Data
- कुछ Games और Applications
3D Array का Example
एक 3D Array में तीन Index होते हैं:
A[i][j][k]
यहाँ:
i→ Blockj→ Rowk→ Column
3D Array के Elements को Enter और Display करने का Program
Question: 3D Array के Elements को Enter और Display करने का C Program लिखिए।
#include <stdio.h>
int main(void)
{
int A[2][2][2];
int i, j, k;
printf("Enter 8 elements:\n");
for (i = 0; i < 2; i++)
{
for (j = 0; j < 2; j++)
{
for (k = 0; k < 2; k++)
{
scanf("%d", &A[i][j][k]);
}
}
}
printf("\nElements of the 3D array:\n");
for (i = 0; i < 2; i++)
{
printf("Block %d:\n", i + 1);
for (j = 0; j < 2; j++)
{
for (k = 0; k < 2; k++)
{
printf("%5d", A[i][j][k]);
}
printf("\n");
}
printf("\n");
}
return 0;
}
Example
Input:
1 2 3 4 5 6 7 8
Output:
Elements of the 3D array:
Block 1:
1 2
3 4
Block 2:
5 6
7 8
3D Array के सभी Elements का Sum निकालने का Program
Question: 3D Array के सभी Elements का Sum निकालने का C Program लिखिए।
#include <stdio.h>
int main(void)
{
int A[2][2][2];
int i, j, k;
int sum = 0;
printf("Enter 8 elements:\n");
for (i = 0; i < 2; i++)
{
for (j = 0; j < 2; j++)
{
for (k = 0; k < 2; k++)
{
scanf("%d", &A[i][j][k]);
sum = sum + A[i][j][k];
}
}
}
printf("\nSum of all elements = %d\n", sum);
return 0;
}
अगर Input है:
1 2 3 4 5 6 7 8
तो:
Sum = 36
Note: Multidimensional Arrays:
Multidimensional Array में एक से ज्यादा Dimensions होते हैं।
2D Array → A[i][j]
3D Array → A[i][j][k]
4D Array → A[i][j][k][l]
यानी 2D में 2 Dimensions, 3D में 3 Dimensions और 4D में 4 Dimensions होते हैं।
Character Array और Strings
C में String को Character Array की मदद से store किया जाता है।
उदाहरण:
char name[] = "Mujtaba";
Memory में यह कुछ इस तरह store होता है:
M u j t a b a \0
यहाँ \0 String के end को बताता है।
Example
#include <stdio.h>
int main(void)
{
char name[] = "Mujtaba";
printf("%s", name);
return 0;
}
Output:
Mujtaba
Strings और Character Arrays C Programming में बहुत important हैं और आगे Strings topic में इन्हें detail में समझा जा सकता है।
Write a Program: User से Array Input लेना
हम Loop की मदद से User से Array की कई values ले सकते हैं।
#include <stdio.h>
int main(void)
{
int numbers[5];
printf("Enter 5 numbers:\n");
for (int i = 0; i < 5; i++)
{
scanf("%d", &numbers[i]);
}
printf("Array elements are:\n");
for (int i = 0; i < 5; i++)
{
printf("%d ", numbers[i]);
}
return 0;
}
Input
10
20
30
40
50
Output
Array elements are:
10 20 30 40 50
Array में Searching
Array में किसी value को ढूँढने की process को Searching कहा जाता है।
Beginners के लिए Linear Search समझना आसान है।
Example
#include <stdio.h>
int main(void)
{
int numbers[5] = {10, 20, 30, 40, 50};
int search, found = 0;
printf("Enter the number to search: ");
scanf("%d", &search);
for (int i = 0; i < 5; i++)
{
if (numbers[i] == search)
{
found = 1;
break;
}
}
if (found)
{
printf("Number found.");
}
else
{
printf("Number not found.");
}
return 0;
}
अगर User 30 search करता है:
Number found.
Array में Sorting (Sorting an Array)
Array की values को किसी order में arrange करना Sorting कहलाता है।
उदाहरण:
Before:
50 20 40 10 30
Ascending order में:
10 20 30 40 50
Beginners के लिए Bubble Sort एक आसान Sorting technique है।
Bubble Sort से Array को Sort करने का Program
Question: Bubble Sort का इस्तेमाल करके दिए गए Array को छोटे से बड़े क्रम (Ascending Order) में Sort करने का Program लिखिए
#include <stdio.h>
int main(void)
{
int numbers[5] = {50, 20, 40, 10, 30};
for (int i = 0; i < 5 - 1; i++)
{
for (int j = 0; j < 5 - i - 1; j++)
{
if (numbers[j] > numbers[j + 1])
{
int temp = numbers[j];
numbers[j] = numbers[j + 1];
numbers[j + 1] = temp;
}
}
}
printf("Sorted array:\n");
for (int i = 0; i < 5; i++)
{
printf("%d ", numbers[i]);
}
return 0;
}
Output
Sorted array:
10 20 30 40 50
Array की Common Operations
Array पर कई तरह के operations किए जा सकते हैं।

ARRAY
│
┌────────┼────────┐
↓ ↓ ↓
Traversal Searching Sorting
│ │ │
↓ ↓ ↓
सभी values Value को Values को
को देखना ढूँढना arrange करना
इसके अलावा:
- Insertion
- Deletion
- Updating
- Copying
- Merging
- Reversing
जैसे operations भी किए जा सकते हैं।
Array को Reverse करना
उदाहरण:
Original:
10 20 30 40 50
Reverse:
50 40 30 20 10
Array को Reverse करने का Program
Question: दिए गए Array को उल्टे क्रम (Reverse Order) में Print करने का Program लिखिए।
#include <stdio.h>
int main(void)
{
int numbers[5] = {10, 20, 30, 40, 50};
printf("Reversed array:\n");
for (int i = 4; i >= 0; i--)
{
printf("%d ", numbers[i]);
}
return 0;
}
Output:
50 40 30 20 10
C Arrays के Important Rules (Important Rules of Arrays in C)
Arrays सीखते समय इन बातों को हमेशा याद रखें।
1. Index 0 से शुरू होता है
int arr[5];
इसके valid Index:
0 1 2 3 4
2. Array में एक ही Data Type की Values होती हैं
उदाहरण:
int arr[5];
इसमें Integer values store की जाती हैं।
3. Array Size
int arr[10];
यह 10 elements के लिए Array बनाता है।
4. Invalid Index का इस्तेमाल न करें
अगर:
int arr[5];
है, तो:
arr[4]
valid है।
लेकिन:
arr[5]
valid Index नहीं है।
C में invalid Index access करने पर Undefined Behavior हो सकता है और Program unexpected result दे सकता है।
5. Last Index हमेशा Size – 1 होता है
अगर Size:
10
है, तो Last Index:
9
होगा।
Arrays में होने वाली Common Mistakes
Mistake 1: Invalid Index का इस्तेमाल करना
गलत:
int arr[5];
arr[5] = 100;
Valid Index केवल:
0 से 4
तक हैं।
Mistake 2: Index को 1 से शुरू समझना
गलत:
First element = arr[1]
सही:
First element = arr[0]
Mistake 3: Loop को ज्यादा आगे चलाना
गलत:
for (int i = 0; i <= 5; i++)
{
printf("%d ", arr[i]);
}
अगर Array का size 5 है, तो सही तरीका:
for (int i = 0; i < 5; i++)
{
printf("%d ", arr[i]);
}
Arrays और Loops का Connection
Arrays और Loops को अक्सर एक साथ use किया जाता है।
मान लीजिए:
int arr[5] = {10, 20, 30, 40, 50};
अब Loop की मदद से सभी elements पर काम किया जा सकता है:
for (int i = 0; i < 5; i++)
{
printf("%d ", arr[i]);
}
यह इस तरह काम करेगा:
i = 0 → arr[0] → 10
i = 1 → arr[1] → 20
i = 2 → arr[2] → 30
i = 3 → arr[3] → 40
i = 4 → arr[4] → 50
इस Pattern को समझना Array Programming के लिए बहुत जरूरी है।
Array और Normal Variable में अंतर
| Feature | Normal Variable | Array |
|---|---|---|
| Data | एक value | कई values |
| Example | int age | int ages[10] |
| Access | Variable Name | Index |
| उपयोग | Single Data | Related Data का Collection |
उदाहरण:
int age = 25;
इसमें एक value store है।
जबकि:
int ages[5] = {20, 21, 22, 23, 24};
इसमें 5 values store हैं।
Array Size और Elements
मान लीजिए (Consider):
int arr[5] = {10, 20, 30, 40, 50};
इसमें:
Total Elements = 5
और Index हैं:
0 1 2 3 4
इसका simple formula है:
Last Index = Number of Elements - 1
इसलिए:
5 - 1 = 4
Arrays और Memory
Array के elements memory में एक-दूसरे के पास contiguous memory locations में store होते हैं।
उदाहरण:
int arr[4] = {10, 20, 30, 40};
इसे conceptually इस तरह समझ सकते हैं:
┌────────┬────────┬────────┬────────┐
│ arr[0] │ arr[1] │ arr[2] │ arr[3] │
│ 10 │ 20 │ 30 │ 40 │
└────────┴────────┴────────┴────────┘
यह concept आगे Pointers in C सीखते समय बहुत useful होगा।
Arrays और Functions
Array को Function में भी pass किया जा सकता है।
Example: Function की मदद से Array को Print करने का Program
#include <stdio.h>
void printArray(int arr[], int size)
{
for (int i = 0; i < size; i++)
{
printf("%d ", arr[i]);
}
}
int main(void)
{
int numbers[5] = {10, 20, 30, 40, 50};
printArray(numbers, 5);
return 0;
}
Output:
10 20 30 40 50
बड़े Programs में यह तरीका बहुत useful होता है क्योंकि इससे Code को अलग-अलग Functions में divide करना आसान हो जाता है।
Arrays पर Important Practice Programs
Arrays को अच्छी तरह समझने के लिए इन Programs की Practice करें।
Basic Programs
- Array को Declare और Initialize करना।
- Array के सभी elements को Print करना।
- User से Array Input लेना।
- Array का Sum निकालना।
- Array का Average निकालना।
- Largest Element find करना।
- Smallest Element find करना।
- Even और Odd Elements count करना।
- Positive और Negative Elements count करना।
- Array को Reverse करना।
Searching Programs
- Linear Search करना।
- Element की Position find करना।
- किसी Element की Occurrences count करना।
- Duplicate Elements find करना।
Sorting Programs
- Array को Ascending Order में Sort करना।
- Array को Descending Order में Sort करना।
- Bubble Sort करना।
- Selection Sort करना।
2D Array Programs
- Matrix Print करना।
- दो Matrices को Add करना।
- दो Matrices को Subtract करना।
- दो Matrices को Multiply करना।
- Matrix का Transpose निकालना।
- Matrix के Elements का Sum निकालना।
- Diagonal Elements Print करना।
Advanced Practice
- Array को Function में Pass करना।
- Function की मदद से Array Search करना।
- Function की मदद से Array Sort करना।
- Character Array के साथ काम करना।
- Multidimensional Arrays की Practice करना।
Quick Revision Points:
Array क्या है?
Array एक ही Data Type की कई values को एक ही नाम के अंदर store करने का तरीका है।
Array Index कहाँ से शुरू होता है?
0
से।
One-Dimensional Array
int arr[5];
Two-Dimensional Array
int matrix[2][3];
3D Array
int data[2][3][4];
Array Element को Access करना
arr[index]
Array को Traverse करना
for (int i = 0; i < size; i++)
{
printf("%d ", arr[i]);
}
Important Array Operations
Traversal
Searching
Sorting
Insertion
Deletion
Updating
Copying
Merging
Reversing
सबसे जरूरी बात
Array = कई related values
Index = Element की position
Loop = Elements पर बार-बार काम करने का तरीका
Frequently Asked Questions (FAQs)
C में Array क्या है?
Array एक ही Data Type की कई values को एक ही नाम के अंदर store करने का तरीका है।
C में Arrays का उपयोग क्यों किया जाता है?
Arrays का उपयोग कई related values को एक जगह store और manage करने के लिए किया जाता है। इससे बड़े data पर काम करना आसान हो जाता है।
क्या C में Array का Index 0 से शुरू होता है?
हाँ। C में Array का पहला element 0 Index पर होता है।
One-Dimensional Array क्या है?
One-Dimensional Array में values एक ही sequence में store होती हैं।
उदाहरण:
int numbers[5];
Two-Dimensional Array क्या है?
Two-Dimensional Array में data Rows और Columns में store होता है।
उदाहरण:
int matrix[3][3];
क्या Array में अलग-अलग Data Types की values store कर सकते हैं?
नहीं। एक normal C Array में सभी elements एक ही Data Type के होते हैं।
उदाहरण:
int arr[5];
इसमें Integer values store होती हैं।
Array का element कैसे access करते हैं?
Array Name और Index की मदद से:
arr[0]
Array Traversal क्या है?
Array के सभी elements को एक-एक करके access या process करना Array Traversal कहलाता है। इसके लिए अक्सर Loop का उपयोग किया जाता है।
Array का Last Index कैसे पता करें?
अगर Array का size 10 है, तो Last Index:
10 - 1 = 9
होगा।
इसलिए Last Index का Formula है:
Last Index = Size - 1
अगर Invalid Array Index Access करें तो क्या होगा?
C में Invalid Index access करने पर Undefined Behavior हो सकता है। इससे गलत output या unexpected behavior हो सकता है।
क्या Array को Function में Pass कर सकते हैं?
हाँ। Array को Function में Pass किया जा सकता है। इससे बड़े Programs को छोटे और manageable Functions में divide करना आसान होता है।
Read this article in English: इस लेख को English में पढ़ने के लिए यहाँ क्लिक करें।

मुजतबा अंसारी एक सॉफ्टवेयर इंजीनियर तथा The Tech Earth के संस्थापक (Founder) और CEO हैं। वे तकनीक, आर्टिफिशियल इंटेलिजेंस (AI), सॉफ्टवेयर, साइबर सुरक्षा, ब्लॉगिंग, हेल्थ टेक, एग्री टेक और डिजिटल ट्रेंड्स से जुड़े विषयों पर लेख लिखते हैं। उनका उद्देश्य पाठकों को नई तकनीकों और डिजिटल दुनिया की नवीनतम जानकारियों से अपडेट रखना है।
