मैं समझ एक डबल सूचक को स्मृति आवंटित करने के लिए कैसे परेशानी हो रही हूँ। मैं तारों की एक सरणी पढ़ना चाहता हूं और इसे स्टोर करना चाहता हूं।स्मृति को डबल पॉइंटर पर असाइन करना?
char **ptr;
fp = fopen("file.txt","r");
ptr = (char**)malloc(sizeof(char*)*50);
for(int i=0; i<20; i++)
{
ptr[i] = (char*)malloc(sizeof(char)*50);
fgets(ptr[i],50,fp);
}
बजाय इस बात का मैं सिर्फ स्मृति और दुकान स्ट्रिंग
char **ptr;
ptr = (char**)malloc(sizeof(char)*50*50);
की एक बड़ी ब्लॉक आवंटित है कि गलत हो सकता है? और यदि ऐसा है तो यह क्यों है?
इसे "डबल पॉइंटर" न कहें - यह आपको मानसिक रूप से गलत पैर पर ले जाता है - यह एक सूचक के लिए सूचक है। –