مشاهده نسخه کامل
: یه مشکل عجیب در c++؟!!
mashaheeer
18-11-2010, 17:49
سلام.
این کد ساده رو وقتی می نویسم تو خروجی a رو یه عدد عجیب قریب میده،هم با ویژوال c++ امتحان کردم هم با codeblocks.آخه چرا؟
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
Lordmaster
18-11-2010, 19:53
وقتی متغیری رو تعریف می کنیم متغیرها به ترتیب از پایین به بالا و از راست به چپ در حافظه قرار میگیرند.
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
طبق تعریف شما هر خونه از حافظه رو اگر یک بایت فرض کنیم ابتدا 2 بایت به Str میرسه که خونه اول و دومو اشغال میکنه و 2 بایت هم به a که خونه سوم و چهارم رو اشغال میکنه.
تا الان که مشکلی نیست
حالا شما فرض کن رشته ی Alireza رو وارد کردی این رشته که وارد کردی از محدوده خودش خارج میشه و چون a بعد از str قرار داره L در خونه سوم و R در خونه چهارم قرار می گیره و اون رقم عجینی که میبینی همین دو حرف هستند که به integer تبدیل شدن.
شما str رو درست تعریف کن تا خونه های حافظه برای رشته ات رزرو بشن .
یا بهترین کار استفاده از اشاره گره تا به همون مقداری که وارد میشه فضا اختصاص بده!
mashaheeer
18-11-2010, 23:30
اولا قرض از این پستم بیشتر تشکره چون واقعا این مسئله ذهنم رو بدجوری درگیر کرده بود و با کمک شما لااقل فهمیدم مشکل کجا بوده.بعدشم،در مورد اون تیکه آخری که گفتید از اشاره گر استفاده کنم،یه منبعی چیزی معرفی کنید یا اگه زحمتی نیست یه توضیح مختصری میدید.تا حدی درباره اشاره گرها می دونم ولی در مورد کارکردش تو این زمینه نه...
بازم ممنون:11:
Lordmaster
19-11-2010, 00:41
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.