اطلاعیه

Collapse
No announcement yet.

تعریف دنباله ای از آدرس ها

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    تعریف دنباله ای از آدرس ها

    سلام
    میخواستم دنباله ای از آدرس تعریف کنم اما نمیدونم چطوری میشه اینکار رو کرد.
    برای مثال من تو winavr تعریف کردم:
    #define addr1 0
    #define addr2 addr1+1
    #define addr3 addr2+1
    .
    .
    .
    اما کامپایلر به این نوع نوشتن پاسخ درست حسابی نمیده

    پیشنهادی دارین؟

    #2
    پاسخ : تعریف دنباله ای از آدرس ها

    کسی نبود؟

    دیدگاه


      #3
      پاسخ : تعریف دنباله ای از آدرس ها

      سلام. فکر کنم اینطوری بهتره

      کد:
      char addr0 = 0;
      char addr1 = addr0+1;
      ...
      اللهم صل علی محمد و ال محمد و عجل فرجهم
      >>> www.DMF313.ir <<<
      اگر ژرف یابی و پژوهش نباشد; نتیجه اش یک جا ایستادن،
      در جا زدن و با دنیای پیرامون خود به تدریج بیگانه تر شدن
      است.

      دیدگاه


        #4
        پاسخ : تعریف دنباله ای از آدرس ها

        من میخوام صرفا نامگزاری کنم تا تو برنامه اسم آدرس ها رو یادم باشه
        اینها به هیچ وجه متغیر نیستن و فضایی از حافظه رو اشغال نمیکنن
        وقتی (#define) میشه، کامپایلر هنگام کامپایل کردن مقدار سمت چپ رو با مقدار سمت راست جایگزین میکنه و اینها صرفا اسم برای چند تا آدرسن
        همین!

        دیدگاه


          #5
          پاسخ : تعریف دنباله ای از آدرس ها

          دوست من دیفاین هم حافظه اشغال میکنه :agree:
          اگه اینطوری هست خوب دیگه جمع نکنین:
          کد:
          #define addr0 0
          #define addr1 1
          #define addr2 2
          اللهم صل علی محمد و ال محمد و عجل فرجهم
          >>> www.DMF313.ir <<<
          اگر ژرف یابی و پژوهش نباشد; نتیجه اش یک جا ایستادن،
          در جا زدن و با دنیای پیرامون خود به تدریج بیگانه تر شدن
          است.

          دیدگاه


            #6
            پاسخ : تعریف دنباله ای از آدرس ها

            سلام. شما می توانید این کار رو به صورت آرایه ای انجام دهید.به عنوان مثال برای 3 تا آدرس:
            کد:
            char addr[3]={12,13,45}
            مثلا آدرس دوم که برابر (13) است را می توان به این صورت به دست آورد:(مثلا می خواهیم مقدارش را که همان 13 است ، داخل متغییر Gبریزیم)
            کد:
            G=addr[1]

            دیدگاه


              #7
              پاسخ : تعریف دنباله ای از آدرس ها

              نوشته اصلی توسط حمید زارع
              دوست من دیفاین هم حافظه اشغال میکنه :agree:
              اگه اینطوری هست خوب دیگه جمع نکنین:
              کد:
              #define addr0 0
              #define addr1 1
              #define addr2 2
              مشکل اینجاست که فواصل یکسان نیستند مثلا:
              #define addr1 0
              #define addr2 addr1+4
              #define addr3 addr2+2

              دیدگاه


                #8
                پاسخ : تعریف دنباله ای از آدرس ها

                نوشته اصلی توسط mansoor zahedipour
                سلام. شما می توانید این کار رو به صورت آرایه ای انجام دهید.به عنوان مثال برای 3 تا آدرس:
                کد:
                char addr[3]={12,13,45}
                مثلا آدرس دوم که برابر (13) است را می توان به این صورت به دست آورد:(مثلا می خواهیم مقدارش را که همان 13 است ، داخل متغییر Gبریزیم)
                کد:
                G=addr[1]
                روش شما حافظه را اشغال میکنه. همچنین این آدرس ها در طول اجرای برنامه ثابتند و تغییری ندارند.
                این روش به ذهنم رسید اما روشی میخواهم تا در صورتی که آدرس جدیدی اضافه شد از ادامه آدرس قبلی شروع کنه و چون فواصل آدرس ها یکی نیست نمیخوام بشینم حساب کنم ببینم باید چند بزارم!

                دیدگاه

                لطفا صبر کنید...
                X