2011-08-16 23 views

उत्तर

10

सूचक को फिर से सौंप दिया जा सकता है, सरणी नहीं कर सकती है।

const char* ptr = "Hello World!"; 
const char arr[] = "Hello World!"; 

ptr = "Goodbye"; // okay 
arr = "Goodbye"; // illegal 

इसके अलावा, के रूप में दूसरों ने कहा है:

sizeof(ptr) == size of a pointer, usually 4 or 8 
sizeof(arr) == number of characters + 1 for null terminator 
+0

+1 मुझे लगता है कि यह दिए गए प्रश्न का एक और उचित उत्तर है – Chad

5

प्रथम सूचक है।
दूसरा एक सरणी है।

सिस्टम में सभी पॉइंटर्स का आकार समान होगा।
दूसरी घोषणा में सरणी का आकार स्ट्रिंग शाब्दिक प्लस \0 के आकार के समान है।

आप पहले सूचक को उसी प्रकार के किसी भी अन्य चर पर इंगित कर सकते हैं।
आप सरणी को पुन: असाइन नहीं कर सकते हैं।

2

पहला पॉइंटर है: sizeof(myVar) == sizeof(void*)। यह निरंतर है, इसलिए आप इसे संशोधित कर सकते हैं: myVar++

दूसरा एक सरणी है: sizeof(myVar) == 13

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