2012-02-14 30 views
9

मैं सी पर अपेक्षाकृत नया हूं, मैं एक साधारण प्रोग्राम चलाने की कोशिश कर रहा हूं और मुझे यह त्रुटि संदेश मिलता है: सेगमेंटेशन गलती (कोर डंपेड) मैं सिर्फ सरणी बिट्स के किसी भी मूल्य को मुद्रित करना चाहता हूं लेकिन मैं नहीं कर सकता, मैं इस त्रुटि पर किसी भी मदद की सराहना करता हूं।सेगमेंटेशन गलती (कोर डंपेड)

#include <stdio.h> 
#include <stdlib.h> 
#include <math.h> 
#include <malloc.h> 

int main() 
{ 
    const long int N = 1000000000; 
    const int smallN = 125000000; 
    char bits[smallN]; 

    for(int i=0; i<smallN; i++){ 
     bits[i]=0xff; 
    } 

    printf("character = %c \n", bits[5]); 
} 

उत्तर

9

सरणी स्टैक आकार से अधिक होने लगती है (बिट्स स्टैक पर एक सरणी है)। आप या तो इसे ग्लोबल का उपयोग करके ग्लोबल बनाने या सरणी आवंटित करने का प्रयास कर सकते हैं।

+0

धन्यवाद कि धन्यवाद! – Percy

5

ध्यान दें कि यह ऐसी चीज है जो वालग्रिंड आपके लिए pinpointing पर अच्छा है। यदि आपने कोड के बड़े हिस्से के अंदर ऐसा किया है, तो वालग्रिंड आपको उस रेखा पर इंगित करेगा जो गलत था।

इस दिन और उम्र में सी सीखने के लिए, इसे अनिवार्य रूप से मान्य करें।

+3

वास्तव में एक उत्तर नहीं, एक टिप्पणी के अधिक – David