نمایش نتایج 1 تا 6 از 6

نام تاپیک: اشارگر در جاوا چگونه است؟

  1. #1

    اشارگر در جاوا چگونه است؟

    سلام

    به برنامه زیر که در سی است نگاه کنید:



    void Add1(int *a)
    {
    *a++;
    }


    main(){
    int b=100;
    Add1(&b);
    printf(b);
    }



    معادل این برنامه در جاوا که بتواند از طریق ارجاع آدرس کار کند چیست؟ چون در جاوا اشارگر نداریم.
    ____________________________
    همه چیز را همگان دانند و همگان هنوز از مادر زاده نشده اند. (بزرگمهر حکیم)

  2. #2
    در java متغیر های عددی همیشه به صورت Call By Value پاس می شوند و object ها همیشه به صورت Call By Reference . حالا میشه یک کلک زد و اون اینکه متغیرتون رو به صورت یک property از یک object پاس کنید . مثال:
    function byValue(a_variable) {
    a_variable ++;
    }

    function byReference(an_object) {
    an_object.x++;
    }

    var x = 12;
    byValue(x);
    alert(x); // displays 12

    var y = new Object();
    y.x = 12;
    byReference(y);
    alert(y.x); // displays 13
    هر که بر مرکب باطل نشیند ، در سراى پیشمانى فرودش مى‏آورند

  3. #3
    سلام

    راستش من میخوام یکسری توابع تاریخ را از سی به Java بیاورم. از تبدیل C2J زیاد خوشم نیومد. حالا به این مشکل برخوردم که برای تغییر در توابع از آدرس متغیر استفاده کرده.

    در ضمن ضمن تشکر از شما من در JavaScript نمیخواهم در Java به صورت عام می خواهم. متشکرم. :flower:
    ____________________________
    همه چیز را همگان دانند و همگان هنوز از مادر زاده نشده اند. (بزرگمهر حکیم)

  4. #4
    سلام


    اگر کلاس به تابع ارسال شود ارسال از طریق مرجع است مثال:




    /*
    * Main.java
    *
    * Created on April 5, 2005, 8:07 AM
    */

    package prg1;

    /**
    *
    * @author tavakol
    */
    public class Main {

    /** Creates a new instance of Main */
    public Main() {
    }

    /**
    * @param args the command line arguments
    */
    public static void main(String[] args) {
    // TODO code application logic here
    NewInt aa = new NewInt();
    aa.Value = 10;
    Add1(aa);
    System.out.println(aa.Value);

    }
    public static void Add1(NewInt b)
    {
    b.Value++;
    }

    }
    class NewInt {
    int Value;
    }



    ____________________________
    همه چیز را همگان دانند و همگان هنوز از مادر زاده نشده اند. (بزرگمهر حکیم)

  5. #5
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    آذر 1383
    پست
    181
    به جاى استفاده از این کلاس جدید
    NewInt
    از
    java.lang.Integer
    چرا استفاده نمى‌کنى. تمام انواع Primitive (مثل int یا long یا char) معادل کلاسى دارند.

  6. #6
    سلام

    شما برنامه نمونه اش رابنویسید من نتونستم؟

    البته از آرایه هم میشه استفاده کرد که خود آرایه ارسال شود ارسال از طریق مرجع است.
    ____________________________
    همه چیز را همگان دانند و همگان هنوز از مادر زاده نشده اند. (بزرگمهر حکیم)

قوانین ایجاد تاپیک در تالار

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