पर पॉइंटर देता हूं जब मैं निम्न कोड चलाने की कोशिश करता हूं तो मुझे एक सीजी गलती मिलती है। मैंने इसे gdb के माध्यम से चलाने का प्रयास किया है, और मैं समझता हूं कि त्रुटि printf
पर कॉल करने के हिस्से के रूप में हो रही है, लेकिन मैं खो गया हूं कि यह वास्तव में क्यों काम नहीं कर रहा है।प्रोग्राम क्रैश करता है जब मैं printf को char array
#include <stdlib.h>
#include <stdio.h>
int main() {
char c[5] = "Test";
char *type = NULL;
type = &c[0];
printf("%s\n", *type);
}
अगर मैं printf("%s\n", c);
साथ printf("%s\n", *type);
की जगह मैं "टेस्ट" मुद्रित रूप में मैं उम्मीद मिलता है। यह चार सरणी के सूचक के साथ क्यों काम नहीं करता है?
मैं बस नाइटपिक करना चाहता हूं: "सी" क्रैश नहीं हुआ क्योंकि सी प्रोग्राम नहीं है। आपका कंपाइलर क्रैश नहीं हुआ। *** आपने क्रैश किए गए प्रोग्राम को लिखने के लिए सी का उपयोग किया। *** –
आप सही डेविड हैं। मुझे पता है कि मेरा कहना क्या था, और जाहिर है, लेकिन आप इस तरह की चीजों पर चर्चा करते समय सटीक होना महत्वपूर्ण है। – WhiteHotLoveTiger
स्पष्ट स्पष्टीकरण के लिए धन्यवाद 'सी [0] ' – wulfgarpro