PDA

View Full Version : سوال فوري :متغير در زبان c



faafaa
شنبه 08 مهر 1391, 18:20 عصر
سلام
متغيردرزبان c داريم كه كمترازيك بايت فضااشغال كنه؟

pe32_64
شنبه 08 مهر 1391, 19:54 عصر
ساختار های بیتی میتونن برای نگه داری بیتها استفاده بشن.

saina2006
شنبه 08 مهر 1391, 21:05 عصر
همیشه آدرس دهی به بایت صورت میگیره پس برای یک متغییر هیچ سودی نداره اما اگر میخوای میتونی چند مقدار رو تو یک متغییر نگه داری و بعد خودت از تو اون متغییر بخونیش

Ananas
یک شنبه 09 مهر 1391, 13:41 عصر
سلام.
من هم با یک جمله ی دیگه صحبت دوستان رو بگم : متغیر کمتر از یک بایت نمی تونیم داشته باشیم (یعنی عملا بخواد کمتر از یک بایت حافظه اشغال کنه حداقل یک بایت رو اشغال میکنه) ولی چند تا متغیر بیتی رو می تونیم در کنار هم تو یک یا چند بایت داشته باشیم و از هر بیتش جدا استفاده کنیم با کمک عملیات بیتی.

IamOverlord
یک شنبه 09 مهر 1391, 14:45 عصر
واحد حافظه بایت هست. اون بیت ها هم برای درک بهتر ما از این واحد حافظه هستن. و اصولا می گن یه متغیر n Byte هست نمی گن n Bit هست...

حامد مصافی
یک شنبه 09 مهر 1391, 23:54 عصر
بستگی به سکو و کامپایلر مورد نظر داره.
در معماری رایانه، خیر. چون همونطوری که دوستان اشاره فرمودند امکان آدرس دهی وجود نداره و به جای اون از روشی به نام Bit Field (http://en.wikipedia.org/wiki/Bit_field) استفاده میشه. اما در سکوهای ریز‌تر مانند میکروکنترلرها،‌ بله نوع‌داده‌ای به نام bit در تعدادی از پیاده‌سازی‌های c برای میکرو‌کنترلر ها (برای مثال gcc-avr که یک کامپایلر بر پایه gcc برای avr است) وجود دارد. اما جزئی از استاندارد c (حداقل تا c11) نیست.