PDA

View Full Version : آموزش: توضیح قطعه کد



javad_babaey
یک شنبه 03 اردیبهشت 1391, 17:19 عصر
int *A;
A=(int *)malloc(n * sizeof(int));
سلام میشه برام توضیخ بیدن توی این قطعه کد کار
malloc
و sizeof
چیه و چرا بکار گرفته شده؟
تشکر

one hacker alone
یک شنبه 03 اردیبهشت 1391, 22:41 عصر
شما با وارد كردن دستور malloc دارين ميگين كه يه فضايي در حافظه برام رزرو كن بعد سيستم ميپرسه چند خونه؟ شما ميگين به اندازه n تا خونه بعد سيستم ميگه از چه نوعي ؟ شما ميگين از نوع *int بعد سيستم ميگه اندازه هر خونه چقدر باشه؟ شما ميگين با توجه به اينكه اين برنامه رو ميخوام توي سيستم عامل هاي مختلف و در پردازنده هاي مختلف اجرا كنم نميدونم اندازه int توي هر كدوم چقدره پس قربون دستت اندازه هر خونه به اندازه مقدار int در اون سيستم عامل باشه مثلا 4 بايت
در نتيجه سيستم مياد براي شما n تا خونه 4 بايتي رزرو ميكنه
اميدوارم روشن شده باشين
تنها چيزي كه اشاره نكردم اونم علت استفاده از دستور malloc هست كه اونو خودتون بشينين بخونين كه مربوط به بحث تخصيص حافظه پويا هست
در پناه خداي مهربان