PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : سوال در مورد اشاره گرها



meysam.z
13-03-2017, 13:57
با سلام
دوستان من در مورد این خط برنامه نویسی حسابی گیج شدم

char *address = (char *) 0x4000; //.

سوالی که برام پیش اومده : چطور یک ادرس 16 بیتی یعنی 0x4000 به char تبدیل میشه ؟؟؟
مگه داریم ؟؟ مگه میشه ؟؟:sa:

mrm
13-03-2017, 15:42
حجم حافظه ایی که پوینتر میگیره نسبت به پلتفرمی که روی اون کد مینویسید می تونه فرق میکنه. مثلا برای ویندوز 64 بیتی ( 8 بایت همون 64 بیت ) و برای Avr (16 یا 24 بیت ) هست.
الان اشارگری که شما تعریف کرده به خونه 0x4000 هگز اشاره میکنه و از نوع کاراکتر هم هست.یعنی فقط یک بایت رو میتونید بنویسید یه بخونید.
برای دیدن اندازه هر متغییر میتونید از printf("size of porinter:%d",sizeof(address))
استفاده کنید.

meysam.z
14-03-2017, 13:05
متوجه نشدم مهندس .... میشه کامل تر توضیح بدید

taktrashe
16-03-2017, 16:35
وقت بخیر

آدرس شما 16 بیتی هست و این یک اشاره گر هست و داره به یک char اشاره میکنه که 8 بیت هست !!