सूचक घोषणा - सी, पॉइंटर्स

एक सूचक घोषणा की तरह क्या करता है char *(*a)[20]; क्या मतलब है? इसके साथ क्या अंतर है char **a[20];?

क्या घोषणा दोनों समकक्ष हैं? और यदि नहीं, तो भेद क्या है?

उत्तर:

जवाब के लिए 9 № 1

यह पॉइंटर्स की एक सरणी के लिए एक सूचक है।

char a[20]; पात्रों की एक सरणी है।

char* a[20]; पात्रों के लिए पॉइंटर्स की एक सरणी है

char (*a)[20]; पात्रों की एक सरणी के लिए एक सूचक है

char* (*a)[20]; अक्षर के लिए पॉइंटर्स की एक सरणी के लिए एक सूचक है।

ध्यान दें कि char** a[20] अक्षर के लिए पॉइंटर्स के पॉइंटर्स की एक सरणी है। ब्रैकेट्स को तारांकन की तुलना में अधिक प्राथमिकता होती है, इसलिए आपको एक सरणी को पॉइंटर घोषित करने के लिए कोष्ठक की आवश्यकता होती है।