Array MCQ Quiz in हिन्दी - Objective Question with Answer for Array - मुफ्त [PDF] डाउनलोड करें
Last updated on May 30, 2025
Latest Array MCQ Objective Questions
Array Question 1:
बहु-विमीय एरे मेमोरी में कैसे संग्रहीत होते हैं?
Answer (Detailed Solution Below)
Array Question 1 Detailed Solution
व्याख्या:
एक बहु-विमीय एरे एक डेटा संरचना है जो डेटा को ग्रिड या टेबल जैसे प्रारूप में संग्रहीत करने की अनुमति देती है, जिससे कई आयामों (जैसे, 2D, 3D) में डेटा को व्यवस्थित करना संभव हो जाता है। मल्टी-विमीय एरे का सबसे सामान्य रूप द्वि-आयामी (2D) एरे हैं, जिन्हें पंक्तियों और स्तंभों के साथ मैट्रिक्स के रूप में देखा जा सकता है।
सही विकल्प: पंक्ति अनुसार (पंक्ति-आधारित क्रम)
अधिकांश प्रोग्रामिंग भाषाओं में, बहु-विमीय एरे मेमोरी में पंक्ति-आधारित क्रम में संग्रहीत होते हैं। इसका अर्थ है कि एरे के तत्वों को एक समय में एक पंक्ति में संग्रहीत किया जाता है। उदाहरण के लिए, एक 2D एरे पर विचार करें:
A[2][3] = { {1, 2, 3}, {4, 5, 6} };
पंक्ति-आधारित क्रम में, यह एरे मेमोरी में इस प्रकार संग्रहीत होगा:
1, 2, 3, 4, 5, 6
इस संग्रहण प्रारूप का मेमोरी में बहु-विमीय एरे तक पहुँचने और उनका हेरफेर करने के तरीके पर महत्वपूर्ण प्रभाव पड़ता है। पंक्ति-आधारित क्रम में तत्वों तक पहुँचते समय, किसी दिए गए पंक्ति के तत्वों के मेमोरी पते सन्निहित होते हैं, जिससे बेहतर कैश प्रदर्शन और अधिक कुशल मेमोरी एक्सेस पैटर्न हो सकते हैं।
Array Question 2:
एक पूर्णांक के लिए संकेतक कैसे घोषित करते हैं?
Answer (Detailed Solution Below)
Array Question 2 Detailed Solution
व्याख्या:
एक पूर्णांक के लिए संकेतक घोषित करना
सही विकल्प: 1) int *ptr;
परिभाषा: C प्रोग्रामिंग भाषा में, एक संकेतक एक ऐसा चर होता है जो किसी अन्य चर के मेमोरी पते को संग्रहीत करता है। जब आप एक पूर्णांक के लिए एक संकेतक घोषित करते हैं, तो आप एक ऐसा चर बना रहे होते हैं जो एक पूर्णांक चर के पते को धारण कर सकता है।
सिंटैक्स: एक पूर्णांक के लिए संकेतक घोषित करने का सही सिंटैक्स int *ptr; है। यह कथन एक चर ptr
को एक पूर्णांक प्रकार के संकेतक के रूप में घोषित करता है। तारांकन (*) इंगित करता है कि चर एक संकेतक है, और प्रकार int
निर्दिष्ट करता है कि संकेतक एक पूर्णांक की ओर इशारा करेगा।
यहाँ सही विकल्प का विवरण दिया गया है:
int
- यह उस चर के डेटा प्रकार को निर्दिष्ट करता है जिसकी ओर संकेतक इंगित करेगा। इस स्थिति में, यह एक पूर्णांक है।*
- तारांकन इंगित करता है कि घोषित किया जा रहा चर एक संकेतक है।ptr
- यह संकेतक चर का नाम है।
उदाहरण: नीचे एक सरल उदाहरण दिया गया है जो एक पूर्णांक के लिए संकेतक की घोषणा और उपयोग को दर्शाता है:
int main() { int number = 10; / एक पूर्णांक चर घोषित करें int *ptr; / एक पूर्णांक के लिए संकेतक घोषित करें ptr = &number; / संकेतक को पूर्णांक चर का पता असाइन करें printf("Value of number: %d\n", number); / पूर्णांक चर का मान निर्गम करें printf("Address of number: %p\n", &number); / पूर्णांक चर का पता निर्गम करें printf("Value stored in ptr: %p\n", ptr); / संकेतक में संग्रहीत पता निर्गम करें printf("Value pointed to by ptr: %d\n", *ptr); / संकेतक द्वारा इंगित मान निर्गम करें return 0; }
इस उदाहरण में, number
एक पूर्णांक चर है, और ptr
एक पूर्णांक के लिए एक संकेतक है। number
का पता ptr
को आवंटित किया गया है। पॉइंटर ptr
अब पूर्णांक चर number
के मेमोरी पते को धारण करता है। ptr
द्वारा इंगित मान को विभेदन संक्रिया (*) का उपयोग करके एक्सेस किया जा सकता है।
Array Question 3:
निम्नलिखित में से कौन सा सरणी का उपयोग करने का लाभ है?
Answer (Detailed Solution Below)
Array Question 3 Detailed Solution
सही उत्तर सूचकांक का उपयोग करके तत्वों तक यादृच्छिक पहुँच है।
Key Points
- सरणियाँ सूचकांक का उपयोग करके तत्वों तक यादृच्छिक पहुँच की अनुमति देती हैं, जिसका अर्थ है कि आप किसी भी तत्व को सीधे एक्सेस कर सकते हैं यदि आप उसका सूचकांक जानते हैं। यह एक महत्वपूर्ण लाभ है जब आपको तत्वों तक त्वरित पढ़ने की पहुँच की आवश्यकता होती है।
- सरणियों में, किसी तत्व तक पहुँचने के लिए समय जटिलता O(1) होती है, जिसका अर्थ है कि सरणी के आकार की परवाह किए बिना इसमें स्थिर समय लगता है।
- यह सुविधा सरणियों को अन्य डेटा संरचनाओं जैसे ग्रंथित सूचियों की तुलना में पढ़ने के प्रचालन के लिए अत्यधिक सक्षम बनाती है, जहाँ आपको किसी तत्व तक पहुँचने के लिए सूची का अभिगम करना पड़ता है।
Additional Information
- स्थिर समय सम्मिलित और हटाना (विकल्प 1): सरणियाँ स्थिर समय सम्मिलित और हटाना प्रदान नहीं करती हैं। किसी तत्व को सम्मिलित या हटाने के लिए तत्वों को स्थानांतरित करने की आवश्यकता हो सकती है, जिससे O(n) की समय संकुलता होती है।
- विभिन्न डेटा प्रकारों के तत्वों को संग्रहीत करने की क्षमता (विकल्प 2): सरणियाँ आमतौर पर सजातीय होती हैं, जिसका अर्थ है कि वे एक ही डेटा प्रकार के तत्वों को संग्रहीत करती हैं। यदि आपको विभिन्न डेटा प्रकारों को संग्रहीत करने की आवश्यकता है, तो आपको एक अलग डेटा संरचना का उपयोग करने की आवश्यकता होगी जैसे टुपल (पायथन में) या वस्तु (जावास्क्रिप्ट में)।
Array Question 4:
#include
int main()
{
int i = 5, j = 10, k = 15;
printf(\"%d \", sizeof(k /=i+j));
printf(\"%d\", k);
return 0;
}
मान लीजिए कि पूर्णांक का आकार 4 बाइट है। उपरोक्त प्रोग्राम का निर्गम क्या है ?
Answer (Detailed Solution Below)
Array Question 4 Detailed Solution
सही उत्तर 4 15 है
व्याख्या:
- पहला printf("%d ", sizeof(k /= i + j)); 4 (एक पूर्णांक का आकार) प्रिंट करता है।
- दूसरा printf("%d", k); 15 प्रिंट करता है (sizeof ने k के मान को प्रिंट करने से पहले प्रभावित नहीं किया, यह दर्शाता है कि sizeof का मूल्यांकन एक पूर्णांक का आकार था और विभाजन को निष्पादित नहीं किया गया।)।
Array Question 5:
'C' लैंग्वेज में निम्नलिखित ऐरे घोषणाओं पर विचार करें:
int array 1[] = {2, 3};
int array2[3]={9};
निम्नलिखित प्रिंट स्टेटमेंट की आउटपुट कितनी होगी?
printf(“%d, %d”, array1 [1], array2 [2]);
Answer (Detailed Solution Below)
Array Question 5 Detailed Solution
Key Points
एक ऐरे को सन्निहित मेमोरी स्थानों पर संग्रहीत समान प्रकार के डेटा आइटम के संग्रह के रूप में परिभाषित किया गया है। C प्रोग्रामिंग भाषा में एरेज़ व्युत्पन्न डेटा प्रकार हैं जो आदिम प्रकार के डेटा जैसे int, char, double, float इत्यादि को स्टोर कर सकते हैं। C ऐरे फायदेमंद है यदि आपको समान तत्वों को स्टोर करना है।
श्रेणी, श्रेणी A में iवें सूचकांक मैं एक्सेस हो सकता है
A[ i ]= i [ A ] = *(A+ i) = *(i + A)
मान लें कि,
int array1[ ] = {2, 3);
int array2[ 3 ] = {9};
printf(“%d, %d”, array1[1], 2[array2]);
array1 {2,3} का गतिशील आवंटन है।
array2 तीन मेमोरी सेल है और 9 को array2 के 0वें इंडेक्स पर स्टोर करता है।
printf(“%d, %d”, array1[1], 2[array2]);
array1[1]= array1 पर पहला सूचकांक = 3
array2 [2] = array2 पर दूसरा सूचकांक = 0
अत: सही उत्तर 3, 0 है।
Top Array MCQ Objective Questions
'C' भाषा में निम्नलिखित सरणी घोषणा पर विचार करें:
int array[] = {2, 3, 4, 5};
निम्नलिखित कथन का आउटपुट क्या होगा?
printf("%d", 2[array]);
Answer (Detailed Solution Below)
Array Question 6 Detailed Solution
Download Solution PDFएक सरणी को सन्निहित मेमोरी स्थानों पर संग्रहीत समान प्रकार के डेटा आइटम के संग्रह के रूप में परिभाषित किया गया है। C प्रोग्रामिंग भाषा में सरणी व्युत्पन्न डेटा प्रकार हैं जो आदिम प्रकार के डेटा जैसे int, char, डबल, फ्लोट इत्यादि को स्टोर कर सकते हैं। C सरणी फायदेमंद है यदि आपको समान तत्वों को स्टोर करना है।
int array[] = {2, 3, 4, 5}; यह सरणी स्टोरेज की तरह हो,
इंडेक्स I पर उपरोक्त एरे को a[i], i[a], *(a+i) या *(i+a) द्वारा एक्सेस किया जा सकता है।
printf(%d', 2[array]); तो, यह दूसरा सूचकांक मान देता है। यानी 4.
अतः सही उत्तर 4 है।
अतिरिक्त सूचनाप्रोग्राम:
#include
int main()
{
int arr[] = { 2, 3, 4, 5 };
printf("%d ",arr[2]);
printf("%d ",2[arr]);
printf("%d ",*(2+arr));
printf("%d ",*(arr+2));
return 0;
}
आउटपुट: 4 4 4 4
तो ऊपर दिया गया दूसरा इंडेक्स वैल्यू उपरोक्त सभी प्रिंट स्टेटमेंट के लिए 4 है।
int arr [2][5]; डिक्लेरेशन ______ बाइट्स को आवंटित करता है।
Answer (Detailed Solution Below)
Array Question 7 Detailed Solution
Download Solution PDFसही उत्तर 40 हैKey Pointsint arr[2][5] में दो 2 और 5 कॉलम के साथ एक 2D सरणी बनाई जाती है।
एक सामान्य पूर्णांक डेटा प्रकार चर को 4 बाइट्स स्थान की आवश्यकता होती है।
यहाँ हम 2 पंक्तियाँ और 5 कॉलम बना रहे हैं। इसलिए, संग्रहीत किए जा सकने वाले चरों की कुल संख्या 2 x 5 = 10 चर है।
तो, एक पूर्णांक प्रकार चर 4 बाइट्स स्थान लेता है, 10 ऐसे चर एक स्थान लेंगे
इस प्रकार, उत्तर 4 x 10 = 40 बाइट्स है।Mistake Points
नोट: कुछ पुरानी प्रणालियों में, int प्रत्येक चर के लिए 2 बाइट्स हुआ करता था। उस स्थिति में, उत्तर 20 बाइट्स हो जाएगा। हालाँकि, आधुनिक मानक int डेटा प्रकार के लिए 4 बाइट्स के हैं
यदि पूर्णांक को दो बाइट स्थान की आवश्यकता है, तो निम्नलिखित 'C’ सरणी का आकार क्या होगा?
int array[3][4]=(0);
Answer (Detailed Solution Below)
Array Question 8 Detailed Solution
Download Solution PDFKey Points
एक सरणी को सन्निहित मेमोरी स्थानों पर संग्रहित डेटा विषयों के समरूप प्रकारों के संग्रह के रूप में परिभाषित किया जाता है।
int array[3][4] = (0);
यहाँ सरणी एक पूर्णांक सरणी है। जो 3 पंक्तियों और 4 स्तंभों वाले दो-आयामी सरणी में है। इसलिए प्रत्येक पंक्ति में 4 तत्व हैंं और तीन पंक्ति हैं।
इसलिए तत्वों की कुल संख्या = 3 x 4 =12
प्रत्येक आकार का तत्व = 2 बाइट
इसलिए सरणी का आकार = 12 x 2 बाइट = 24 बाइट है।
अतः सही उत्तर 24 बाइट है।
निम्न सरणी में घटकों की संख्या का पता लगाइए।
char si [] = "India is great";
Answer (Detailed Solution Below)
Array Question 9 Detailed Solution
Download Solution PDFसही उत्तर विकल्प 3 है।
संकल्पना:
सरणी :
एक सरणी सतंत मेमरी स्थानों पर संग्रहित प्रकृति में समान वस्तुओं का एक संग्रह है। यह सबसे सरल डेटा संरचना है जहां प्रत्येक डेटा घटक को केवल उसके सूचकांक(इंडेक्स संख्या) का उपयोग करके सीधे एक्सेस किया जा सकता है। जब हम स्ट्रिंग्स को किसी सरणी में संग्रहित करते हैं, तो वे सरणी के एकल सूचक में एकल वर्ण के रूप में संग्रहित होते हैं।
स्ट्रिंग वर्णों का एक संग्रह है जिसे एकल डेटा वस्तु के रूप में माना जाता है और इसे रिक्त सम्प्रतीक '\0' द्वारा समाप्त किया जाता है।
स्पष्टीकरण:
char si [] = "India is great";
उपरोक्त घोषणा वर्ण डेटाटाइप के सरणी नाम si का एक गतिक नियतन है।
इस प्रकार सही उत्तर 15 है।
निम्नलिखित में से कौन सा अभिव्यक्ति q द्वारा इंगित पूरे सरणी (array) को हटा देगा?
Answer (Detailed Solution Below)
Array Question 10 Detailed Solution
Download Solution PDFसही उत्तर delete[ ] q; है।
Key Points
यह एक्सप्रेशन कंपाइलर को न केवल 'q' द्वारा इंगित मेमोरी को डिलीट करने के लिए सूचित करती है, बल्कि सरणी में प्रत्येक ऑब्जेक्ट को ठीक से नष्ट करने के लिए भी सूचित करती है। इस प्रकार, यह डायनामिक मेमोरी में एरे के लिए एलोकेटेड मेमोरी को फ्री करने के लिए इष्टतम है।
व्याख्या:
C++ में, जब आप किसी सरणी को गतिशील रूप से एलोकेट करते हैं, तो आप new[] ऑपरेटर का उपयोग करते हैं। यह एरे को होल्ड करने के लिए पर्याप्त मेमोरी का एक ब्लॉक एलोकेट करता है, और पहले एलिमेंट पर एक पॉइंटर लौटाता है। यहाँ एक उदाहरण है:
- int* arr = new int[10]; / 10 पूर्णांकों के ऐरे के लिए मेमोरी एलोकेट करता है।
जब आप इस गतिशील रूप से एलोकेटेड मेमोरी का उपयोग कर लें, तो अपने प्रोग्राम में मेमोरी लीक को रोकने के लिए इसे खाली करना महत्वपूर्ण है।आप इसे delete[]ऑपरेटर (operator) का उपयोग करके करते हैं, जिसे आप पॉइंटर पर लागू करते हैं:
- delete[] arr; /10 पूर्णांकों की सारणी के लिए मेमोरी को फ्री करता है।
निम्नलिखित ANSI C प्रोग्राम पर विचार करें।
#include
int main()
{
int arr[4][5];
int i, j;
for(i =0; i<4; i++)
{
for (j =0; j<5; j++)
{
arr [i][j] = 10 * i + j;
}
}
print("%d", *(arr[1] + 9));
return 0;
}
उपरोक्त प्रोग्राम का आउटपुट क्या है?
Answer (Detailed Solution Below)
Array Question 11 Detailed Solution
Download Solution PDFकोड:
#include
int main(){
int arr[4][5];
int i, j;
for(i =0; i<4; i++){
for (j =0; j<5; j++){
arr [i][j] = 10 +i + j;
}
}
print("%d", *(arr[1] + 9));
return 0;
}
प्रमुख बिंदु
- C सरणी सीमाओं की जांच नहीं करता है। सेगमेंटेशन फॉल्ट तभी होगा जब आप किसी पॉइंटर को उस मेमोरी में डीरेफरेंस करने का प्रयास करते हैं जिसे आपके प्रोग्राम को एक्सेस करने की अनुमति नहीं है। बस एक सरणी के अंत से पहले जाने से उस व्यवहार का कारण बनने की संभावना नहीं है। अपरिभाषित व्यवहार बस यही है - अपरिभाषित। यह ठीक काम करता प्रतीत हो सकता है, लेकिन आपको इसकी सुरक्षा पर भरोसा नहीं करना चाहिए।
- आपका प्रोग्राम सरणी के अंत में मेमोरी तक पहुंच कर अपरिभाषित व्यवहार का कारण बनता है। इस मामले में, ऐसा लगता है कि आपका कोई str[i] = c लिखता है, i में मान को ओवरराइट कर देता है।
व्याख्या:
*(arr[1] + 9) को arr[1][9] के रूप में लिखा जा सकता है।
चूंकि C बाध्य जांच का पालन नहीं करता है और पंक्ति प्रमुख क्रम का पालन करता है
arr[1][5] = arr[2][0] / arr[1][4] सरणी की पहली पंक्ति होगी और फिर arr[2][0] सरणी की दूसरी पंक्ति होगी
arr[1][6] = arr[2][1]
arr[1][7] = arr[2][2]
arr[1][8] = arr[2][3]
arr[1][9] = arr[2][4]
arr[2][4] = 10*i + j = 10*2+4 = 24
विकल्प 4 उत्तर है।
‘C’ भाषा में सरणी की निम्न घोषणा पर विचार करें:
int A[6] = {1, 2, 3, 5};
निम्नलिखित में से कौन सा कथ सही है?Answer (Detailed Solution Below)
Array Question 12 Detailed Solution
Download Solution PDFसंकल्पना:
एक सरणी एक डेटा संरचना है जिसमें घटकों का एक समूह होता है। ये सभी घटक समान डेटा प्रकार के होते हैं, जैसे कि एक पूर्णांक।
सरणी सबस्क्रिप्ट (इंडेक्स) और सरणी से घटक अभिगम(एक्सेस) के लिए नाम आवश्यक है
स्पष्टीकरण:
सरणी नाम: A
सूचकांक |
0 |
1 |
2 |
3 |
घटक |
1 |
2 |
3 |
5 |
किसी सरणी में तीसरे घटक तक पहुँचने के लिए A[2] या 2[A] का उपयोग किया जाता है। इसलिए A[2] और 2[A] दोनों मान 3 को निरुपित करते हैं।
महत्वपूर्ण बिंंदु:
A[0] पहले घटक का मान दर्शाता है।
निम्नलिखित में से कौन सा आरंभीकरण स्टेटमेंट (Initialization statement), ऐरे (array) में छह पूर्णांक मानों (integer values) को स्टोर करता है?
Answer (Detailed Solution Below)
Array Question 13 Detailed Solution
Download Solution PDFसही उत्तर int array[6]; है।
Key Points
- C, C++, और इसी तरह की लैंगुएजेस में, ऐरे इंडेक्स 0 से शुरू होते हैं। इसलिए, int array[6]; आपको 0 से 5 तक इंडेक्स्ड छह एलिमेंट वाली एक ऐरे प्राप्त होगी।
- array[6]
- अन्य कथन या तो सरणी आरंभीकरण के लिए गलत सिंटैक्स प्रदान करते हैं या किसी भिन्न आकार के ऐरे को प्रदर्शित करते हैं।
-
int numbers[6]; / Declares an array named numbers to store 6 integers
numbers[0] = 10;
numbers[1] = 20;
numbers[2] = 30;
numbers[3] = 40;
numbers[4] = 50;
numbers[5] = 60;/ Accessing elements:
int firstElement = numbers[0]; / firstElement will be 10
Additional Information
- ऐरे (array): एक ऐरे में, डेटा को मेमोरी के एक सन्निहित ब्लॉक में स्टोर किया जाता है। अरे में प्रत्येक तत्व द्वारा उसके इंडेक्स का उपयोग करके सीधे पहुँचा जा सकता है।
एक विमीय सरणी के प्रारंभीकरण के लिए सही वाक्यविन्यास ________ है।
Answer (Detailed Solution Below)
Array Question 14 Detailed Solution
Download Solution PDFसही उत्तर num[4] = {1,2,3,4}; है:
संकल्पना:
व्याख्या:
-
निम्नलिखित घोषणा में, सरणी का नाम num है।
-
सरणी का आकार चार है।
-
सरणी को चार तत्वों 1,2,3,4 के साथ प्रारंभ किया गया है।
Key Points
-
सरणी को एक विशेष डेटा प्रकार का होना चाहिए।
-
सरणी में संग्रहीत किए जाने वाले तत्व धनुकोष्ठक {} में उपस्थित होने चाहिए। धनुकोष्ठक में प्रत्येक तत्व को अल्पविराम से अलग किया जाना चाहिए।
-
सरणी घोषणा विवरण अर्धविराम के साथ संलग्न होना चाहिए।
Additional Information
-
द्वि-आयामी सरणी को num[][] के रूप में घोषित किया जा सकता है।
-
वर्गाकार कोष्ठकों [] की संख्या सरणी के आयामों को दर्शाती है।
-
सरणी को सीधे पूर्णांक या किसी अन्य मान के साथ प्रारंभ नहीं किया जा सकता है। num[4] = 0 सरणी का अमान्य आरंभीकरण है, क्योंकि तत्वों 0 जिन्हें किसी सरणी में संग्रहीत करने की आवश्यकता होती है, वे धनुकोष्ठक में उपस्थित होने चाहिए।
-
num[4] = {1 2 3 4}; एक अमान्य घोषणा है क्योंकि किसी सरणी में संग्रहीत किए जाने वाले तत्वों को अर्धविराम से अलग नहीं किया जाता है, लेकिन केवल एक स्थान का उपयोग किया जाता है।
-
num[4] = {1;2;3;4}; यह भी अमान्य है क्योंकि अर्धविराम के बजाय किसी सरणी के तत्वों को अलग करने के लिए अर्धविराम का उपयोग किया जाता है।
निम्नलिखित ऐरे में तत्वों की संख्या ज्ञात कीजिए।
float f [6] [4] [2];
Answer (Detailed Solution Below)
Array Question 15 Detailed Solution
Download Solution PDFवर्णन:-
ऐरे में मौजूद तत्वों की संख्या को ऐरे की लम्बाई की गणना करके ज्ञात किया जा सकता है।
एल्गोरिथ्म:
चरण 1: Start
चरण 2: Initialize arr[] = {1, 2, 3, 4, 5, 6}
चरण 3: length = sizeof(arr) / sizeof(arr[0])
चरण 4: Print "number of elements present in given array" by assigning length.
चरण 5: Return 0
चरण 6: End
विश्लेषण:- float f [6] [4] [2]
तत्व की संख्या = 6 × 4 × 2 = 48
इसलिए ऐरे float f [6] [4] [2] में तत्वों की संख्या 48 है।
Additional Information
ऐरे:- ऐरे समान-प्रकार के चरों का एक समूह होता है जिसे एक सामान्य नाम द्वारा संदर्भित किया जाता है। और प्रत्येक डेटा विषय को ऐरे का तत्व कहा जाता है। तत्वों के डेटा प्रकार char, int, float, इत्यादि जैसे कोई मान्य डेटा प्रकार हो सकते हैं।
निम्नलिखित आकृति यह दर्शाती है कि कैसे ऐरे क्रमिक रूप से मानों को संग्रहित करता है: