توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : سوال در مورد اشاره گرها
meysam.z
13-03-2017, 13:57
با سلام
دوستان من در مورد این خط برنامه نویسی حسابی گیج شدم
char *address = (char *) 0x4000; //.
سوالی که برام پیش اومده : چطور یک ادرس 16 بیتی یعنی 0x4000 به char تبدیل میشه ؟؟؟
مگه داریم ؟؟ مگه میشه ؟؟:sa:
حجم حافظه ایی که پوینتر میگیره نسبت به پلتفرمی که روی اون کد مینویسید می تونه فرق میکنه. مثلا برای ویندوز 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 بیت هست !!
Powered by vBulletin® Version 4.2.1 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.