मैं निम्नलिखित कोड भर में आया था:स्मृति संरेखण के बारे में malloc क्या गारंटी देता है?
int main()
{
char *A=(char *)malloc(20);
char *B=(char *)malloc(10);
char *C=(char *)malloc(10);
printf("\n%d",A);
printf("\t%d",B);
printf("\t%d\n",C);
return 0;
}
//output-- 152928264 152928288 152928304
मुझे पता है कि कैसे आवंटन और गद्दी malloc()
द्वारा किया जाता है चाहता हूँ। आउटपुट को देखते हुए मैं देख सकता हूं कि शुरुआती पता 8 का एक बहु है। क्या कोई अन्य नियम हैं?
जो भी "नियम" आप अपने कंप्यूटर पर क्या मॉलोक करते हैं, इसका अध्ययन करके "सीखते हैं" ... जैसे ही आप किसी अन्य कंप्यूटर पर जाते हैं, या कंपाइलर विकल्प बदलते हैं, या चंद्रमा के चरण में परिवर्तन करते हैं, तब तक अनजान होना चाहिए। .., ... :) – pmg
एक सूचक मुद्रित करने के लिए आपको वास्तव में '"% p "का उपयोग करना चाहिए और 'शून्य *':' printf ("% p", (शून्य *) ए); ' – pmg
मैं नहीं वास्तव में अपने प्रश्न को समझें। –