"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > क्या C++ में स्टैक पर बड़ी सारणी घोषित की जा सकती है?

क्या C++ में स्टैक पर बड़ी सारणी घोषित की जा सकती है?

2024-11-11 को प्रकाशित
ब्राउज़ करें:185

Can Large Arrays Be Declared on the Stack in C  ?

स्टैक पर विशाल सरणी घोषित करना: क्या यह संभव है?

डेव सी के भीतर 4200000 डबल्स जैसे विशाल आकार की सरणी घोषित करने का प्रयास करते समय, उपयोगकर्ता हो सकते हैं अप्रत्याशित मुद्दों का सामना करें। हालाँकि कंपाइलर त्रुटियों को चिह्नित नहीं कर सकता है, प्रोग्राम निष्पादन पर अचानक समाप्त हो जाता है। इसके अलावा, यह दुविधा केवल बड़े आकार के सरणियों के साथ उत्पन्न होती है, जबकि छोटे आयाम वाले सरणियाँ त्रुटिहीन रूप से कार्य करती हैं। कुशल गणना के लिए. यह एक दुविधा पैदा करता है: क्या इस सरणी को स्टैक पर इस तरह से घोषित किया जा सकता है कि उपरोक्त बाधाओं को दूर किया जा सके?

उत्तर, दुर्भाग्य से, नहीं है। जबकि स्टैक पर सरणी घोषित करना एक व्यवहार्य विकल्प नहीं है, एक समाधान मौजूद है जो स्टैक और हीप दोनों से तत्वों को जोड़ता है:

double *n = new Double[4200000];

double *n = new double[4200000];

डबल एन[500];

double n[500];

std::vector someElements(4200000); someElements[234];

std::vector someElements(4200000);
someElements[234];

गतिशील रूप से मेमोरी आवंटित करने की वैकल्पिक विधि के साथ:

डबल *एन = नया डबल[4200000];

double *n = new double[4200000];

delete[] n;

delete[] n;
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3