मैं एकल अक्षर तारों की एक छोटी सरणी/तालिका को मॉलोक करने और मुक्त करने की कोशिश कर रहा हूं। मुझे पता है कि यह एक सरणी में किया जा सकता है, लेकिन मैं इसे एक मॉलोक और मुफ्त के साथ करने की कोशिश करना चाहता हूं।चार ** टेबल malloc कैसे करें?
char **letters = (char**) malloc(5 * sizeof(char*));
int i =0;
for(i=0; i < NUMLETTERS ; ++i)
{
letters[i] = (char*) malloc(2*sizeof(char)); //2 is for the letter and null terminator
}
letters[0] = "a";
letters[1] = "b";
letters[2] = "c";
letters[3] = "d";
letters[4] = "e";
//Do stuff here
int i =0;
for(i=0; i < 5; ++i)
{
free(letters[i]);
}
free(letters);
उपरोक्त कोड ठीक संकलित करता है तथा यह भी बीच में मेरे कोड काम करता है और ठीक चलाता है, लेकिन क्रम में यह मुफ़्त भागों के दौरान कोई त्रुटि हो जाता है:
मैं अब इस अधिकार है। इसके अलावा, valgrind..it का उपयोग करने के बाद कहते हैं कि मुफ्त (अक्षर [i]); अमान्य है।
कोई मदद?
आह! मुझे कुछ ऐसा करना चाहिए: स्ट्रैपी (अक्षरों [0], "ए"); सही? – Flipper
सही, यह काम करेगा। – Mysticial