Passing Array to Function in C in Hindi
/ BCA / Programming with C and CPP
Passing Array to Function in C Explained in Hindi
Passing Array to Function in C in Hindi
What is Array Passing in Function?
जब हम C programming में किसी function को array भेजते हैं, तो इस प्रक्रिया को Passing Array to Function कहा जाता है। इसका मतलब है कि हम एक array को argument की तरह किसी function में भेज सकते हैं, ताकि उस array के elements पर कुछ operation किया जा सके। ये तरीका beginners के लिए बहुत उपयोगी होता है क्योंकि इससे हम code को modular और reusable बना सकते हैं।
Why Pass Array to Function?
- Code को organized और reusable बनाने के लिए।
- Large data (array) को अलग-अलग functions में भेजकर उस पर operation करने के लिए।
- Array के elements को process करने के लिए जैसे कि sort, search, modify, etc.
Syntax of Array as Function Argument in Hindi
C में जब हम किसी array को function में pass करते हैं, तो function के parameter में array का नाम और उसका type लिखा जाता है। नीचे basic syntax दिया गया है:
#include <stdio.h>
void display(int arr[], int size); // Function Declaration
int main() {
int numbers[5] = {1, 2, 3, 4, 5};
display(numbers, 5); // Function Call
return 0;
}
void display(int arr[], int size) {
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
}
ऊपर के program में, display नाम का function एक integer array arr[] और उसका size ले रहा है। Function array को print कर रहा है। ध्यान दें कि हमने array को pass करते समय सिर्फ उसका नाम दिया है, क्योंकि array का नाम खुद में pointer होता है।
One-Dimensional Array as Function Argument in Hindi
C में एक-dimensional array को function में pass करना बहुत आसान होता है। बस function में array को parameter के रूप में declare करना होता है। नीचे इसका विस्तृत उदाहरण दिया गया है:
#include <stdio.h>
void calculateSum(int arr[], int size);
int main() {
int data[4] = {10, 20, 30, 40};
calculateSum(data, 4);
return 0;
}
void calculateSum(int arr[], int size) {
int sum = 0;
for (int i = 0; i < size; i++) {
sum += arr[i];
}
printf("Sum = %d", sum);
}
इस program में calculateSum नाम के function में एक one-dimensional array pass किया गया है। Function उस array के सभी elements को जोड़कर उनका sum दिखा रहा है।
Points to Remember for One-Dimensional Array
- Array हमेशा pass by reference होता है, यानी array का address function में जाता है।
- Function में array के साथ उसका size भी भेजना जरूरी होता है।
- Function definition में आप
int arr[],int arr[10]याint *arrभी लिख सकते हैं।
Multi-Dimensional Array as Function Argument in Hindi
अगर आपको 2D या multi-dimensional array को function में भेजना है, तो आपको column का size ज़रूर define करना होता है। नीचे इसका syntax और example दिया गया है:
#include <stdio.h>
void printMatrix(int matrix[][3], int rows);
int main() {
int mat[2][3] = {
{1, 2, 3},
{4, 5, 6}
};
printMatrix(mat, 2);
return 0;
}
void printMatrix(int matrix[][3], int rows) {
for (int i = 0; i < rows; i++) {
for (int j = 0; j < 3; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
}
ऊपर के program में, एक 2D array mat[2][3] को function printMatrix में pass किया गया है। ध्यान दें कि function definition में column size [3] ज़रूर लिखा गया है, क्योंकि compiler को यह पता होना चाहिए कि हर row में कितने elements हैं।
Important Rules for Multi-Dimensional Arrays
- Function definition में सभी dimensions के column sizes ज़रूरी होते हैं।
- आप
int arr[][N]की तरह लिख सकते हैं लेकिनNकी value predefined होनी चाहिए। - Multi-dimensional array का address भी function में pass होता है, इसलिए changes original array में होते हैं।
Memory Concept (Pointer View)
जब भी हम array को function में pass करते हैं, तो उसका actual memory address भेजा जाता है। इसका मतलब है कि अगर आप function में array को modify करेंगे, तो वो changes main array में भी reflect होंगे। इसे call by reference की तरह समझा जा सकता है।
Comparison Table: One-Dimensional vs Multi-Dimensional Array Passing
| Feature | One-Dimensional Array | Multi-Dimensional Array |
|---|---|---|
| Syntax | int arr[] या int *arr |
int arr[][COL] |
| Column Size Required? | नहीं | हाँ |
| Pointer Concept | Single pointer | Double pointer (internally) |
| Use Cases | Simple lists जैसे marks, prices | Matrix, table-like data |
Practice Questions for Students
- एक function लिखिए जो array के सभी elements को reverse order में print करे।
- एक 2D array को function में pass करके उसका transpose निकालने का program लिखिए।
- एक array को function में भेजकर उसमें maximum element खोजिए।
Beginner Friendly Tips
- हमेशा function को define करने से पहले उसका prototype लिखें।
- Array के साथ हमेशा उसका size भी भेजें।
- पहले one-dimensional array से शुरुआत करें फिर multi-dimensional पर जाएं।
- Practice के लिए छोटे-छोटे programs बनाएं और debug करके समझें कि values कैसे pass हो रही हैं।
FAQs
void display(int arr[], int size); और call करते समय display(numbers, 5);।
void printMatrix(int arr[][3], int rows); और call: printMatrix(mat, 2);।