پاسخ : این خط چیکار میکنه؟ int size = sizeof(a)/sizeof(int); n
sizeof یه کلمه کلیدی هست مثل for , while , if , switch , ...
معنیش اینه که اندازه یا بعبارتی تعداد بایتهای یک متغیر یا type رو برمیگردونه.
مثلا :
sizeof(int) = 2
یا
long r=1876237
sizeof(r) = 4
متوجه شدی؟
حالا تو این عبارتی که نوشتی sizeof(int) میشه 2 و باید ببینی a از چه نوعی هست و در حقیقت چند بایت میشه.
مثلا با احتساب اینکه a از نوع char باشه حاصل میشه 3 .
پاسخ : این خط چیکار میکنه؟ int size = sizeof(a)/sizeof(int); n
نوشته اصلی توسط امیر . م
sizeof یه کلمه کلیدی هست مثل for , while , if , switch , ...
معنیش اینه که اندازه یا بعبارتی تعداد بایتهای یک متغیر یا type رو برمیگردونه.
مثلا :
sizeof(int) = 2
یا
long r=1876237
sizeof(r) = 4
متوجه شدی؟
حالا تو این عبارتی که نوشتی sizeof(int) میشه 2 و باید ببینی a از چه نوعی هست و در حقیقت چند بایت میشه.
مثلا با احتساب اینکه a از نوع char باشه حاصل میشه 3 .
قشنگ توضیح دادی ممنون فهمیدم.
به سمت نور خورشید حرکت کن،تو میتونی تابش خورشید رو حس کنی ،حتی اگه کور باشی.
(پیش به سوی هدف)
پاسخ : این خط چیکار میکنه؟ int size = sizeof(a)/sizeof(int); n
نوشته اصلی توسط hosseinam1370
قشنگ توضیح دادی ممنون فهمیدم.
فقط نمیتونم درک کنم که ما چه نیازی داریم که اندازه یه متغییر رو بدست بیاریم/
اصلا چه نیازی داریم اندازه متغییر ها و کاراکتر ها رو پیدا کنیم؟
کجاها استفاده میشه؟
یخورده مفهومی توضیح بدین دوستان تا جا بیوفته.
ممنون دوستان.
به سمت نور خورشید حرکت کن،تو میتونی تابش خورشید رو حس کنی ،حتی اگه کور باشی.
(پیش به سوی هدف)
پاسخ : این خط چیکار میکنه؟ int size = sizeof(a)/sizeof(int); n
کاربردهای دیگه ای هم داره
وقتی بخوای محدوده ذخیره سازی یک نوع داده رو روی کامپایلر و سیستم مورد نطر بدونی میتونی با این دستور مطمئن بشی. مثلا نوع داده long ممکنه رو یه سیستم 4 بایت باشه و رو یکی دیگه 8. یا نوع داده long long. هرچند واسه اینا استاندارد تعریف شده اما حتی int هم ممکنه جایی 16 بیتی باشه...
یه کاربرد دیگش بدست اوردن اندازه آرایه هاست . که با تقسیم sizeof آرایه به sizeof نوع داده آرایه بدست میاد
پاسخ : این خط چیکار میکنه؟ int size = sizeof(a)/sizeof(int); n
نوشته اصلی توسط hosseinam1370
فقط نمیتونم درک کنم که ما چه نیازی داریم که اندازه یه متغییر رو بدست بیاریم/
اصلا چه نیازی داریم اندازه متغییر ها و کاراکتر ها رو پیدا کنیم؟
کجاها استفاده میشه؟
یخورده مفهومی توضیح بدین دوستان تا جا بیوفته.
ممنون دوستان.
دوستان یک سری کاربردهاش رو گفتن اما مهمترین کاربردش هنگام ساختن هدر برای یک فایل و ذخیره اش روی هارده
مثلا وقتی میخواید یک struct رو روی هارد بنویسید هم یکی دیگه از کاربردهاشه (بالایی هم البته از همین نوع میتونه باشه یا میتونه نباشه)
پاسخ : این خط چیکار میکنه؟ int size = sizeof(a)/sizeof(int); n
نوشته اصلی توسط hamidreza.nayeri
دوستان یک سری کاربردهاش رو گفتن اما مهمترین کاربردش هنگام ساختن هدر برای یک فایل و ذخیره اش روی هارده
مثلا وقتی میخواید یک struct رو روی هارد بنویسید هم یکی دیگه از کاربردهاشه (بالایی هم البته از همین نوع میتونه باشه یا میتونه نباشه)
حالا هدر رو فراموش کنید. فرض کنید یک struct دارید که میخواید بدون این که به تک تک فیلدهاش دسترسی پیدا کنید مستقیم بنویسیدش روی هارد یا از روی هارد بخونیدش. با این دستور میتونید کار کنید.
یا مثلا در دیتابیس ها، شما برای این که بتونید مکان یک رکورد خاص رو روی هارد دیسکتون پیدا کنید به اندازه ای که روی هارد میگیره (یا روی رم فرق نمیکنه) نیاز دارید. با این دستور میتونید جاش رو راحت پیدا کنید.
دیدگاه