मेरे प्रोफेसर और कुछ छात्र इस बारे में बहस कर रहे हैं कि argv
शून्य समाप्त हो गया है या नहीं। मेरे दोस्त ने एक छोटा सा कार्यक्रम लिखा और इसे null
मुद्रित किया लेकिन एक और बच्चे ने कहा कि वह शायद खाली स्मृति में पढ़ रहा है। क्या कोई इस चर्चा को हल कर सकता है?argv [argc] ==?
उत्तर
स्टैंडर्ड से:
5.1.2.2.1 कार्यक्रम स्टार्टअप
...
- argv [argc] एक अशक्त सूचक होगा।
तो, हाँ; argv शून्य समाप्त हो गया है
मानक के मुताबिक, "argv [argc] एक शून्य सूचक होगा" (5.1.2.2.1)।
यह मानक क्यों और कैसे बन गया? कोई उपाय? – Reigel
@Reigel: 1 9 7 9 से 'exec' के लिए मैन पेज (http://plan9.bell-labs.com/7thEdMan/v7vol1.pdf) दिखाता है कि यह मानक को थोड़ा सा पूर्व निर्धारित करता है, और इसमें एक संभावित संकेत है यह इस तरह क्यों है: "Argv सीधे किसी अन्य execv में प्रयोग योग्य है क्योंकि argv [argc] 0 है।" – bk1e
इससे अधिक स्पष्ट नहीं होता है;) – caf
वाह, मुझे यह नहीं पता था। फिर भी तर्क क्यों? –
मुझे नहीं पता ** क्यों **। लेकिन यह तर्कों की गिनती करने के लिए 'argv' सरणी पर चलने से बचकर कुछ कार्यक्रमों को थोड़ा आसान बनाता है। – pmg