इंटिलाइजेशन (या असाइनमेंट) से पहले एक चर का उपयोग त्रुटियों का गंभीर कारण है। आप इसे रनटाइम पर विश्वसनीय रूप से जांच नहीं सकते हैं, लेकिन आप संकलन के दौरान या उससे पहले इसका पता लगा सकते हैं।
मैं को कोड के अंदर जांचने के लिए सुझाव देता हूं। चूंकि यह संकलक चेतावनियों का कारण बन सकता है (वैरिएबल 'i' का उपयोग मूल्य को सौंपने से पहले किया जाता है), नई त्रुटियों को पेश करें और मध्यम से बड़े कार्यक्रमों में सफलता पर बहुत कम मौका है।
स्थिर कोड एनालिस उपकरण (जैसे क्यूए/सी या पीसीलिंट) का उपयोग करने का सबसे अच्छा तरीका है। उच्च चेतावनी संवेदनशीलता स्तर पर कंपाइलर का उपयोग करना एक निःशुल्क विकल्प है, विशेष उपकरण के रूप में बहुत कम कवरेज के साथ।
यदि आप कोड समीक्षा करते हैं, तो आप चेकलिस्ट पर अनियमित चर के लिए एक चेक भी शामिल कर सकते हैं। यह कोई गारंटी नहीं है, लेकिन यह समीक्षाकर्ताओं से मैन्युअल चेक ट्रिगर करेगा।
यदि यह रनटाइम जांच है जो आप चाहते हैं, तो आप चर-आउट-रेंज मान में चर को घुमाकर शुरू कर सकते हैं। उदाहरण के लिए -1 अन्यथा पोस्टिव मूल्य के लिए। तो फिर तुम जाँच कर सकते हैं
#define UNASSIGNED_VALUE -1
static int number_of_apples = UNASSIGNED_VALUE;
if (UNASSIGNED_VALUE == number_of_apples)
{
// error handling
}
के लिए यह एक सही 'unintialized' चर, लेकिन कम से कम आप पता लगा सकते हैं कि क्या कानूनी सीमा में क्रम कार्य किया गया नहीं है।
इस धागे के बारे में कुछ चर्चा है: http://stackoverflow.com/questions/473236/check-for-value-definedness-in-c – Laserallan