जब मैं इस उदाहरण में चार सरणी सब्स्क्रिप्ट का उपयोग करें:चार सरणी सबस्क्रिप्ट चेतावनी
int main(){
char pos=0;
int array[100]={};
for(pos=0;pos<100;pos++)
printf("%i\n", array[pos]);
return 0;
}
मैं चेतावनी देता है कि मैं चार सरणी सबस्क्रिप्ट उपयोग कर रहा हूँ हो रही है:
चेतावनी: सरणी सबस्क्रिप्ट टाइप है ' char '[-Wchar-subscripts]
जो ठीक है, क्योंकि मेरे पास यह चेतावनी सक्षम है।
जीसीसी मैनुअल का कहना है: यदि एक सरणी सबस्क्रिप्ट टाइप "चार" है
-Wchar-सबस्क्रिप्ट चेतावनी । यह त्रुटि का एक आम कारण है, क्योंकि प्रोग्रामर अक्सर भूल जाते हैं कि इस प्रकार को मशीनों पर हस्ताक्षर किया गया है। यह चेतावनी -Wall द्वारा सक्षम है।
तो इस चेतावनी को नकारात्मक सरणी अनुक्रमणिका का उपयोग करने से रोकना चाहिए। मेरा सवाल यह है कि यह चेतावनी केवल चार पर सक्रिय क्यों है और अन्य हस्ताक्षरित प्रकारों पर भी नहीं?
धन्यवाद।
ध्यान दें कि आपको सरणी तत्वों के लिए 'size_t' का उपयोग करना चाहिए, न कि 'char'। – netcoder