मैंने अभी C में प्रोग्राम करना सीखना शुरू किया है, और पॉइंटर्स और सरणियों के बारे में अपनी समझ को बेहतर बनाने के लिए, मैंने किसी भी पॉइंटर को बनाए बिना किसी ऐरे के तत्वों को संदर्भित करने का प्रयास किया है:
for(k1 = 0; k1 < ROW; k1++){
for(k2 = 0; k2 < COLUMN; k2++){
array[k1][k2] = k1*COLUMN + k2 + 1;
printf("[%d][%d] = %d\n", k1, k2, *(array[k1] + k2));
}
}
संपूर्ण कोड संकलित करता है और त्रुटिपूर्ण चलता है।
मुझे लगता है कि एक बड़े स्रोत कोड में हर एक सरणी के लिए एक पॉइंटर बनाने के लिए अत्यधिक अक्षम होना प्रतीत होता है।
तो, एक पॉइंटर का उपयोग करके संग्रहीत और पुनर्प्राप्त किए गए सरणी का पता रखने के बजाय, क्या यह सरणी के पते का सीधे उपयोग करने के लिए एक खराब प्रोग्रामिंग अभ्यास है, जैसा कि ऊपर दिखाया गया है?
printf "[%d][%d] = %d\n", k1, k2, array[k1] [k2]));
करने से सूचक अंकगणित से बच जाएगा और समझने में आसान होगा।