मान लीजिएमुझे आश्चर्य है कि वास्तव में क्या और एक रिटर्न?
पहला मामला
int a;
int *p= &a ; it works no error
दूसरा मामला
long int a;
long int b;
b = & a; it wont work
हम में से अधिकांश का कहना है कि ख एक चर नहीं सूचक है। लेकिन नीचे देखें।
तो सवाल यह है कि &a
उस पते को वापस भेजता है जो एक हस्ताक्षरित पूर्णांक है तो हम इसे सामान्य चर में क्यों निर्दिष्ट नहीं कर सकते? लेकिन केवल पॉइंटर्स क्यों? नीचे
b = (unsigned int) &a ; it works after typecasting though its not practicable.
देखें पते के पूर्णांक प्रारूप है तो अहस्ताक्षरित या लंबी पूर्णांकों यह नहीं बचा क्यों करते हैं? मैं सोच रहा था, इसके पीछे कुछ छिपा रहस्य होना चाहिए। क्या कोई इसे प्रकट कर सकता है? मैंने जो सोचा था, पॉइंटर्स कुछ अंदर करना चाहिए लेकिन मुझे आश्चर्य है कि यह क्या होगा और एक सामान्य चर क्यों नहीं हो सकता है।
आपके सभी उत्तरों के लिए धन्यवाद लेकिन वास्तविक प्रश्न वास्तव में &a
रिटर्न क्या है? पूर्णांक मूल्य या नहीं? यदि यह पूर्णांक संख्या है तो एक चर यह क्यों नहीं रख सकता है? लंबे int = 65535 \ valid क्यों int = & बी नहीं है यदि पता बी का मान 65535
मुझे पॉइंटर के रूप में उपयोग करने के लिए चिंतित नहीं है, तो प्रश्न केवल मूल्य को बचाने के बारे में है। पते का खंडन नहीं। 32 या 64 बिट कह रहे लोग, मैं इसके बारे में चिंतित नहीं हूं। पता अगर यह एक पूर्णांक संख्या है तो पता क्यों नहीं सहेज सकता है?
मेरा मतलब है क्यों नहीं कर सकते हम मान असाइन, मैं चर की ओर इशारा के गुणों आवंटित करने के लिए लेकिन सिर्फ मूल्य thats आवंटित यह
a=65535
b = a \\ works it assigns b - 65535
&a=65535
b = & a \\ doesn't work, if address is a some integer value,why we can't store it in a variable?
(उदाहरण के सामान्य सूचक के रूप में 16 बिट ले यह नहीं कह रहा हूँ पता) आकार 2 बाइट्स है और परिवर्तनीय आकार 2 बाइट्स है, हम पते को अन्य चर में क्यों नहीं स्टोर कर सकते हैं अगर पता पूर्णांक मान है, तो मेरे प्रश्न में मुझे कई उत्तरों मिलते हैं जैसे ++ यह 4 से पॉइंटर और वैल्यू 1 से वैरिएबल तक चिंतित है, चिंतित नहीं है इसके बारे में सिर्फ मूल्य असाइन करना अधिक महत्वपूर्ण सवाल है।
b = & a ; address of a is 4000
++b ; becomes 4001 thats it,thats not a problem
"सामान्य चर" क्या है? "पॉइंटर्स अंदर कुछ करना चाहिए" सही। आपको और क्या जानने की आवश्यकता है? वे ** ** पूर्णांक नहीं हैं। वे पॉइंटर्स हैं। कृपया "सामान्य चर" से आपका क्या मतलब है, यह बताने के लिए ** अपना प्रश्न अपडेट करें। –
हालांकि यह हुड के नीचे एक पूर्णांक है, प्रकार मेल नहीं खाते हैं, इसलिए आप उन्हें असाइन नहीं कर सकते हैं। ऐसा लगता है कि 'असंबंधित क्लासए' और 'असंबंधित क्लासबी' केवल बाइट हैं, तो आप एक दूसरे को क्यों असाइन नहीं कर सकते? यह प्रकार प्रणाली का हिस्सा है। –