ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





نمایش نتایج: از 1 به 3 از 3
  1. #1
    تاریخ عضویت
    2019/07/30
    نوشته ها
    12
    1
    Junior Member

    {سوال} مشکل متغیر در ++c

    با سلام دوستان
    اگر یک عدد ورودی تابع باشه و یک متغیر عددی بهش بدیم و در تابع بگیم عدد ورودی تغییر کنه ، اصل متغیر که ورودی داده بودیم ثابت می مونه ،
    ولی اگه ورودی یک آرایه باشه و در تابع در آرایه تغییری ایجاد کنیم در اصل آرایه تغییر ایجاد میشه !

    مشکل چیست ؟
  2. #2
    تاریخ عضویت
    2017/11/22
    نوشته ها
    364
    239
    Administrator
    سلام...چون متغیر عددی از نوع value type هستش فقط یک کپی ازش به تابع ارسال میشه و وقتی تغییری داخل تابع رو اون اعمال کنی...فقط رو کپی اعمال میشه....ولی مواردی مثل رشته ها، آرایه ها (حتی اگه عناصرش value type باشن)، کلاس ها و Delegate به صورت reference type هستن..یعنی به جای این که مقادیر رو تو خودشون نگه دارن...آدرس اون مقادیر تو حافظه رو نگه میدارن. در نتیجه اگر به عنوان پارامتر به تابع داده بشن...ادرس مقادیر اصلی به اون تابع داده میشه...و تابع میتونه اونا رو تغییر بده.


    حالا اگه میخوای تابع مورد نظرت نتونه مقدار عناصر ارایه رو تغییر بده...میتونی اون آرایه رو به صورت const بفرستی.
  3. #3
    تاریخ عضویت
    2019/07/30
    نوشته ها
    12
    1
    Junior Member
    خیلی ممنون
نمایش نتایج: از 1 به 3 از 3

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •