संभव डुप्लिकेट:
Difference between using character pointers and character arraysस्थिरांक चार myVar * बनाम स्थिरांक चार myVar []
बीच क्या अंतर है:
const char* myVar = "Hello World!";
const char myVar[] = "Hello World!";
अगर वहाँ एक है?
संभव डुप्लिकेट:
Difference between using character pointers and character arraysस्थिरांक चार myVar * बनाम स्थिरांक चार myVar []
बीच क्या अंतर है:
const char* myVar = "Hello World!";
const char myVar[] = "Hello World!";
अगर वहाँ एक है?
सूचक को फिर से सौंप दिया जा सकता है, सरणी नहीं कर सकती है।
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
के आकार के समान है।
आप पहले सूचक को उसी प्रकार के किसी भी अन्य चर पर इंगित कर सकते हैं।
आप सरणी को पुन: असाइन नहीं कर सकते हैं।
पहला पॉइंटर है: sizeof(myVar) == sizeof(void*)
। यह निरंतर है, इसलिए आप इसे संशोधित कर सकते हैं: myVar++
।
दूसरा एक सरणी है: sizeof(myVar) == 13
।
+1 मुझे लगता है कि यह दिए गए प्रश्न का एक और उचित उत्तर है – Chad