सेगमेंटेशन फॉल्ट का मुख्य कारण उस मेमोरी को एक्सेस करना है जो या तो इनिशियलाइज़्ड नहीं है, आपके प्रोग्राम के लिए आउट ऑफ बाउंड्स है, या स्ट्रिंग लिटरल्स को संशोधित करने का प्रयास कर रहे हैं। ये सेगमेंटेशन फॉल्ट का कारण बन सकते हैं हालांकि यह गारंटी नहीं है कि वे सेगमेंटेशन फॉल्ट का कारण बनेंगे। यहाँ सेगमेंटेशन फॉल्ट के कुछ सामान्य कारण दिए गए हैं:
- एरे को आउट ऑफ बाउंड्स एक्सेस करना
- NULL पॉइंटर्स को डीरेफरेंस करना
- फ्री की गई मेमोरी को डीरेफरेंस करना
- अनइनिशियलाइज़्ड पॉइंटर्स को डीरेफरेंस करना
- "&" (एड्रेस ऑफ) और "*" (डीरेफरेंसिंग) ऑपरेटर्स का गलत उपयोग
- printf और scanf स्टेटमेंट्स में गलत फॉर्मेटिंग स्पेसिफायर्स
- स्टैक ओवरफ्लो
- रीड-ओनली मेमोरी में लिखना