इंटीजर बनाम पॉइंटर
अधिकांश प्रोग्रामिंग भाषाओं में पूर्णांक और सूचक शब्द का उपयोग किया जाता है। कंप्यूटर प्रोग्रामिंग भाषाओं में, पूर्णांक को किसी भी डेटा प्रकार के रूप में संदर्भित किया जाता है जो गणितीय पूर्णांकों के सबसेट का प्रतिनिधित्व करता है, जबकि पॉइंटर्स को एक प्रकार के रूप में परिभाषित किया जाता है, जिसका मान किसी अन्य मान को इंगित करता है या सीधे संदर्भित करता है जो कि मान के पते का उपयोग करके कंप्यूटर की मेमोरी में कहीं और संग्रहीत होता है।.
पूर्णांक
कंप्यूटर प्रोग्रामिंग भाषाओं में, एक पूर्णांक एक डेटा प्रकार है जो गणितीय पूर्णांकों के सबसेट का प्रतिनिधित्व करता है। एक अभिन्न अंग वाले डेटम का मान वह गणितीय पूर्णांक होता है जिससे वह मेल खाता है।मान को कंप्यूटर की मेमोरी में इस तरह से डेटाम का प्रतिनिधित्व करके संग्रहीत किया जाता है। अभिन्न प्रकारों को हस्ताक्षरित या अहस्ताक्षरित किया जा सकता है। हस्ताक्षरित का अर्थ है कि वे ऋणात्मक पूर्णांकों का प्रतिनिधित्व कर सकते हैं और अहस्ताक्षरित माध्य वे गैर-ऋणात्मक पूर्णांकों का प्रतिनिधित्व कर सकते हैं।
बिट्स की एक स्ट्रिंग एक सकारात्मक पूर्णांक का प्रतिनिधित्व करने का सबसे आम तरीका है। यह बाइनरी अंक प्रणाली का उपयोग करके किया जाता है। बिट्स के क्रम में भिन्नता है। पूर्णांक प्रकार की शुद्धता या चौड़ाई बिट्स की संख्या को दर्शाती है।
द्विआधारी अंक प्रणाली में ऋणात्मक संख्याओं को तीन तरीकों से दर्शाया जा सकता है। यह एक के पूरक, दो के पूरक या संकेत-परिमाण द्वारा किया जा सकता है। हालांकि, पूर्णांकों का प्रतिनिधित्व करने के लिए एक और तरीका है और इसे बाइनरी-कोडेड दशमलव कहा जाता है। लेकिन यह तरीका आजकल बहुत कम इस्तेमाल किया जाता है।
विभिन्न इंटीग्रल प्रकार विभिन्न सीपीयू द्वारा समर्थित हैं। दोनों हस्ताक्षरित और साथ ही अहस्ताक्षरित प्रकार अलग-अलग हार्डवेयर द्वारा समर्थित हैं लेकिन कुछ निश्चित चौड़ाई सेट हैं।
सूचक
कंप्यूटर प्रोग्रामिंग भाषा में, एक पॉइंटर को डेटा प्रकार के रूप में परिभाषित किया जाता है जिसका मान इंगित करता है या सीधे दूसरे मान को संदर्भित करता है जो कंप्यूटर की मेमोरी में कहीं और संग्रहीत होता है। उच्च स्तरीय भाषाओं के मामले में पॉइंटर्स सामान्य प्रयोजन रजिस्टरों की जगह लेते हैं जबकि निम्न स्तर की भाषा जैसे मशीन कोड या असेंबली भाषा में, यह उपलब्ध स्मृति में किया जाता है। मेमोरी में किसी स्थान को पॉइंटर द्वारा संदर्भित किया जाता है। एक पॉइंटर को अधिक सारगर्भित डेटा प्रकार के कम घटाए गए या सरल कार्यान्वयन को भी परिभाषित किया जा सकता है। पॉइंटर्स विभिन्न प्रोग्रामिंग भाषाओं द्वारा समर्थित हैं लेकिन कुछ भाषाओं में पॉइंटर्स के उपयोग पर कुछ प्रतिबंध हैं।
लुकअप टेबल, ट्री स्ट्रक्चर, स्ट्रिंग्स और कंट्रोल टेबल जैसे दोहराव वाले संचालन के मामले में प्रदर्शन में काफी सुधार किया जा सकता है। प्रक्रियात्मक प्रोग्रामिंग में, पॉइंटर्स का उपयोग प्रवेश बिंदुओं के पते रखने में भी किया जाता है। हालाँकि, ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग में, पॉइंटर्स का उपयोग फ़ंक्शंस में विधियों को बाँधने के लिए किया जाता है।
हालांकि संदर्भों को संबोधित करने के लिए पॉइंटर्स का उपयोग किया जा रहा है लेकिन उन्हें डेटा संरचनाओं पर अधिक ठीक से लागू किया जा सकता है। कुछ जोखिम हैं जो पॉइंटर्स से जुड़े होते हैं क्योंकि वे कंप्यूटर के मेमोरी पतों तक सुरक्षित और असुरक्षित पहुंच की अनुमति देते हैं।