पॉइंटर आणि अर्रे दरम्यान फरक

Anonim

पॉइंटर विरे अर्रे

पॉइंटर एक डेटा प्रकार आहे जी मेमरी स्थानास संदर्भ देते (उदा. पॉइंटर व्हेरिएबल मेमरी स्थानाचा पत्ता संग्रहित करते ज्यात काही डेटा संग्रहित केला जातो) ऍरे हा घटकांचा संग्रह संग्रहित करण्यासाठी सर्वसामान्यतः वापरल्या जाणार्या डेटाची रचना आहे.अनेक प्रोग्रामिंग भाषा अॅरे मध्ये ऍक्सेस आणि अॅक्सेस ऍक्सेस घोषित करण्यासाठी पद्धती प्रदान करतात. <

एक पॉइंटर म्हणजे काय?

एक पॉइंटर हा एक डेटा प्रकार आहे जो काही स्थानास संग्रहित केलेल्या मेमरी स्थानाचे पत्ते संचयित करतो दुसऱ्या शब्दांत, एक पॉईन्टर मेमरी स्थानाचा संदर्भ. पॉइंटर द्वारे संदर्भित केलेल्या मेमरी लोकेशनमधील डेटा ऍक्सेस करणे ज्यास डीरफेन्सिंग म्हणतात. पुनर्रचनात्मक ऑपरेशन जसे की ट्रॅव्हर्सिंग ट्रीज / स्ट्रिंग्स, टेबल लुकअप इत्यादी. पॉइंटर्सचा वापर केल्याने कार्यक्षमता सुधारेल. कारण पॉइंटर्सद्वारे निर्देशित डेटा प्रत्यक्षात कॉपी करणे आणि त्यावर प्रवेश करणे मुळीच डीअरफेन्सिंग व कॉपी करणे स्वस्त आहे. एक शून्य पॉइंटर एक पॉइंटर आहे जो काहीही सूचित करत नाही. जावामध्ये, एक शून्य पॉइंटर ऍक्सेस करण्यामुळे एक अपवाद उत्पन्न होतो जे एक NullPointerException म्हणतात.

अॅरे म्हणजे काय?

आकृती 1 मध्ये दर्शविले गेले आहे, विशेषत: ऍरेचे मूल्य घोषित करण्यासाठी आणि वितरित करण्यासाठी कोडचा एक भाग आहे. आकृती 2 मध्ये वर्णन करतो की अॅरे मेमरीमध्ये कसे दिसेल.

अनंत मूल्यांचा [5];

मूल्ये [0] = 100;

मूल्ये [1] = 101;

मूल्ये [2] = 102;

मूल्ये [3] = 103;

मूल्ये [4] = 104;

आकृती 1: ऍरे

100

101 102 103 104 103
104 मूल्यनिर्धारण: 0 1 2 3 4

आकृती 2: मेमरीमध्ये साठवलेली अॅरे

वरील अॅरे अॅरे परिभाषित करतात जो 5 इंटिजर संचित करू शकतो आणि 0 ते 4 या निर्देशांकाचा वापर करून ऍक्सेस करता येते. अॅरेची एक महत्त्वाची संपत्ती म्हणजे, संपूर्ण ऍरेला एक ब्लॉक मेमरी म्हणून वाटप केले जाते आणि प्रत्येक घटकास ऍरेमध्ये स्वतःचे स्थान मिळते. एकदा अॅरे परिभाषित झाल्यानंतर त्याचे आकार निश्चित झाले आहे. त्यामुळे जर आपण वेळेची संकलन करताना अॅरेच्या आकाराबद्दल निश्चित नसाल तर आपल्याला सुरक्षित बाजूला बसण्यासाठी मोठ्या प्रमाणातील ऍरे परिभाषित करावे लागेल. पण, बहुतेक वेळा, आम्ही वाटप केलेल्या घटकांपेक्षा कमी संख्येचा घटक वापरणार आहोत. म्हणूनच स्मृतीचा सिंहाचा बराचसा वाया जातो. दुसरीकडे "मोठ्या प्रमाणातील ऍरे" खरोखर मोठे नसल्यास, कार्यक्रम क्रॅश होईल.

पॉइंटर आणि एरेज मध्ये फरक काय आहे?

एक पॉइंटर हा एक डेटा प्रकार आहे जो काही डेटा संग्रहित केलेल्या मेमरी स्थानाचा पत्ता संग्रहित करतो, तर घटकांचा संग्रह संग्रहित करण्यासाठी सर्वात सामान्यतः वापरल्या जाणार्या डेटा संरचना असतात. सी प्रोग्रामींग भाषेमध्ये पॉइंटर अंकगणितीय वापरून (एईएआर अॅरे x ची किंमत) * अॅरे इंडेक्सिंग * * (x + i) च्या बरोबरीने होईल).म्हणूनच सी मध्ये, पॉइंटर संच जे लागोपाठच्या मेमरी स्थाने संच दर्शवितात, अॅरे म्हणून विचार करता येतात. पुढे, ऑपरेटरचे आकार कसे पॉईंटर्स आणि अॅरे वर कार्य करते यात फरक आहे. अॅरेला लागू केल्यास, आकार ऑपरेटरकडून अॅरेचा संपूर्ण आकार परत मिळेल, परंतु जेव्हा पॉइंटरवर लागू केले जाईल, तेव्हा ते पॉइंटरचे आकार बदलेल.