سلام
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
سلام
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
موفق باشید.کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
سلام.
خطاي منطقي كجا بود ؟
اين دوتا متغيير هستن كه پشت هم فضا اشغال ميكنن، چون تويه حافظه جاي خالي متوالي وجود داره(البته هميشه اينطور نيست)، اين دوتا پشت سره هم فضا رو اشغال ميكنن. و وقتي شما
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدبه اشاره گر w يكي اضافه ميكنيد، اين اشاره گر يه واحد (اينجا به اندازه int ) مياد جولو. پس حالا ديگه w و p به يك جا اشاره ميكنن. بعدش شما يكي به مقداري كه اين اشاره گر اشاره ميكنه اضافه ميكنيد ، پس a يكي اضافه ميشه و ...
w يك واحد مياد جولو درست اما از كجا معلوم كه P و W به يك جا اشاره مي كنند؟! P , W پشت سر هم هستن وقتي Wمياد به خونه بعد اشاره ميكنه خونه ي بعدي كه حتماً P نيست!!
-------------------------
چرا W++ خطا داره؟؟؟ خوب اگه به خونه بعدي بياد اشاره كنه چي ميشه؟
Last edited by hobab1987; 26-08-2010 at 21:12.
بله . منم عرض كردم :
بستگي به وضعيت حافظه داره.
يعني كامپايل نميشه ؟ ارور ميده ؟چرا W++ خطا داره؟؟؟ خوب اگه به خونه بعدي بياد اشاره كنه چي ميشه؟
اگه اينطوره اين خط و اضافه كنيد ، ببينيد چي ميشه ؟ به جاش دقت كنيد كه كجا اضافه كردم:
کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
از این روش برای حرکت بین خونه های یک آرایه استفاده میشه.چرا W++ خطا داره؟؟؟ خوب اگه به خونه بعدي بياد اشاره كنه چي ميشه؟
آرایه ها خونه های حافظه رو بصورت متوالی اشغال میکنند به همین دلیل میشه با داشتن آدرس خانه اول تا آخرین خانه پیمایش کرد.
زمانی که دو متغییر پشت سر هم اعلان میشوند هیچ تضمینی وجود نداره که این دو متغییر در حافظه پشت هم باشند.
زمانی که شما این عملو (++W) نسبت به یک متغییر انجام میدین ممکنه که اشاره گر به خونه ای از حافظه که اصلا هیچ مقداری نداره یا یک مقدار پوچ داره اشاره کنه.
اگر شما میخواهید به یک آدرس مشخص(اختیاری/انتخابی) از حافظه دسترسی پیدا کنید باید از یک روش دیگه استفاده کنید.
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)