زمان کنونی: ۰۷ دى ۱۴۰۳, ۰۵:۱۳ ب.ظ مهمان گرامی به انجمن مانشت خوش آمدید. برای استفاده از تمامی امکانات انجمن میتوانید عضو شوید. گزینههای شما (ورود — ثبت نام)
In many programs, there are situations where it is useful to know the size of a particular datatype (one of the most common examples is dynamic memory allocation using the library function malloc). Though for any given implementation of C or C++ the size of a particular datatype is constant, the sizes of even primitive types in C and C++ are implementation defined (that is, not precisely defined by the standard). This can cause problems when trying to allocate a block of memory of the appropriate size. For example, say a programmer wants to allocate a block of memory big enough to hold ten variables of type int. Because our hypothetical programmer doesn't know the exact size of type int, the programmer doesn't know how many bytes to ask malloc for. Therefore, it is necessary to use sizeof:
/*pointer to type int, used to reference our allocated data*/
int * pointer = malloc(sizeof(int) * 10);
بهتر بود بجای بخش الگوریتم در جایی مثل "پرسش و پاسخ در اشکالات عملی کامپیوتری " سوالتون رو می پرسیدید . منتقل شد .
malloc برای تخصیص حافظه استفتده میشه .وقتی از اشاره گر ها استفاده می کنیم .البته جدیدا از تابع new برای تخصیص حافظه پویا استفاده میشه .مثلا ;
[p=new int[10 این عبارت حافظه ای به اندازه ۱۰ مقدار صحیح رو ایجاد می کنه و با عبارت ;delete p این حافظه از بین میره .
در مورد sizeof هم که اندازه int رو میده که فکر کنم ۲ بایت میشه .
" کتاب ++C جعفر نژاد کامل شرح داده فصل ۵ "
درد من حصار برکه نیست ، درد من زیستن با ماهیانیست که فکر دریا به ذهنشان خطور نکرده
(۰۳ اردیبهشت ۱۳۹۱ ۰۵:۳۶ ب.ظ)javady_joon نوشته شده توسط: int *A;
A=(int *)malloc(n * sizeof(int));
میشه کاربرد malloc و sizeof رو بگید و بگید چرا استفاده شدند؟
مهندس من که تو انجمن برنامه نویس جواب کامل بهت دادم یعنی واقعا متوجه نشدی که اومدی اینجا هم پرسیدی!!!!!