Notes in Hindi

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

जब हम किसी array को function में भेजते हैं ताकि उस पर कुछ operation किया जा सके, तो उसे passing array to function कहा जाता है। इस तरीके से हम एक ही array को कई जगह use कर सकते हैं बिना बार-बार define किए।
C में one-dimensional array को function में भेजने के लिए function को array और उसका size pass किया जाता है। जैसे: void display(int arr[], int size); और call करते समय display(numbers, 5);
हाँ, क्योंकि C में array pass by reference होता है, इसलिए function के अंदर array के elements को modify करने पर वह main function में भी reflect होता है।
2D array को function में भेजते समय column size देना ज़रूरी होता है। जैसे: void printMatrix(int arr[][3], int rows); और call: printMatrix(mat, 2);
क्योंकि array का size function में internally पता नहीं चलता, इसलिए size pass करना जरूरी होता है ताकि function को पता चले कि कितने elements पर operation करना है।

Please Give Us Feedback