2011-04-08 16 views

उत्तर

31

कोई अंतर है।

यह नोटेशन का मामला है, अर्थशास्त्र नहीं है। दूसरा कम भ्रामक है, क्योंकि

int *a, b; 

स्पष्ट रूप से, जैसे कि वह दो संकेत घोषित है लगता है एक int* और एक int की घोषणा की है, जबकि

int* a, b; 

, जब यह वास्तव में एक ही बात के रूप में ऊपर कर रहा है ।

+0

अच्छी व्याख्या – cc4re

3

दो घोषणाएं एक सूचक की घोषणा करते समय बराबर होती हैं। इस पर थोड़ा और देखें link

17

यह एक अच्छा सवाल है।

  • int* p

    • व्यापक रूप से सी के द्वारा प्रयोग किया ++ प्रोग्रामर
    • int* p, q को गलत तरीके से संकेत मिलता है कि दोनों p और q संकेत (दो पंक्तियों पर इस की घोषणा है, जो भी पठनीयता जब वहाँ बेहतर बनाता है के लिए एक प्राथमिकता के लिए अग्रणी रहे हैं असाइनमेंट हैं, और विशिष्ट लाइनों/चरों को त्वरित रूप से कट/पेस्ट या टिप्पणी करना आसान बनाता है)
    • int* p दृष्टि से अलग आटेस पहचानकर्ता
    • *p तो स्पष्ट रूप से एक भिन्नता को इंगित करता है से टाइप (यह मानते हुए आप अपने द्विआधारी operator*2 * 3 आला के साथ स्पेस डाल)
    • C++ ...&x
    • स्पष्ट रूप से एक पते, जबकि ...& x एक संदर्भ चर घोषित किया जाना चाहिए ले जा रहा है, और ... & ... है बिटवाइज़-AND ऑपरेटर
  • int *p

    • व्यापक रूप से प्रयोग डी प्रोग्रामर
    • int *p, q स्पष्ट रूप से p एक पॉइंटर और q होने पर स्पष्ट रूप से प्रतिबिंबित करता है।
    • int *p नेत्रहीन (बेहतर या बदतर के लिए)
इसी समारोह घोषणाओं में प्रदर्शित होने के प्रकार के लिए

पहचानकर्ता के साथ प्रकार

  • नेत्रहीन एक संकेतक भिन्नता से पृथक confuses ...

    int* f(), g(); // declares int g(); 
    int *h(), (*i)(); // i is pointer to function returning int 
    int *const*m(), n(); // m returns pointer to (const-pointer to int) 
            // n returns int 
    

    ...लेकिन कम से कम कार्य तर्क इतने बालों वाले नहीं हो सकते हैं - प्रत्येक अल्पविराम विभाजक के बाद प्रकार विनिर्देशन शुरू होता है।

    सरसरी तौर पर, int *p अन्यथा int* p प्रकार का एक स्पष्ट जुदाई और निम्नलिखित पहचानकर्ता प्रदान करता है, तो अपने कोडिंग शैली/कोड आधार स्रोत कोड की एक पंक्ति पर एक से अधिक घोषणाओं का इस्तेमाल बेहतर है,।

    उन सभी के लिए, लोगों की प्राथमिकताओं का मुख्य रूप से उपयोग किया जाता है जो उनका उपयोग किया जाता है।

  • 0

    उन 2 घोषणाएं बिल्कुल वही हैं!

    संबंधित मुद्दे