اطلاعیه

Collapse
No announcement yet.

مشکل در C

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

    مشکل در C

    سلام
    آقا این یه تیکه برنامه زیر ، حسابی منو گیج کرده! چون تازه دارم C رو یاد می گیرم. رسیدم به استراکچر ها. حالا تو برنامه زیر ، قسمت های های لایت شده رو نمی فهمم. اولا که قسمت های لایت شده بالا چیه؟ تعریف الگوی تابع هست یا تعریف متغیر های یک استراکچر؟ اینجوری نه استراکچره نه تابع! ( البته با چیزایی که من بلدم! )

    #include "stdio.h"
    struct s_type{
    int i;
    double d;
    }var1;
    [glow=red,2,300]struct s_type f(void);[/glow]
    void main (void)
    {
    var1=f();
    printf("%d %lf",var1.i,var1.d);
    }
    [glow=red,2,300]struct s_type f(void)
    {
    struct s_type temp;
    temp.i=100;
    temp.d=123.23;
    return temp;[/glow]
    }

    #2
    پاسخ : مشکل در C

    ببخشید که اول و آخر برنامه علامت های # و ; جابجا شدن :redface: بهتر از این نشد

    دیدگاه


      #3
      پاسخ : مشکل در C

      مراحل برنامه را به انگلیسی برات توضیح میدمچون دارم dc می شم
      1.identify a structure to name s_type
      2.identify a variable from s_type to name var1
      3.identify a function to name f which retuen a variable type of s_type
      4.calling f function and put its parameter to var1(both of them are likely)

      about f function
      in the function identify a variable to name temp type of s_type and numeric its parameters and then return it that apply for var1 in main program

      bye
      we are here,it must be done

      دیدگاه


        #4
        پاسخ : مشکل در C

        سلام این تابعیه که مقداری که برمیگردونه از نوع structure هست. موفق باشی

        دیدگاه


          #5
          پاسخ : مشکل در C

          #include "stdio.h"

          struct s_type
          {
          int i;
          double d;
          }var1;

          struct s_type f(void);

          void main (void)
          {
          var1=f();
          printf("%d %lf",var1.i,var1.d);
          }
          struct s_type f(void)
          {
          struct s_type temp;
          temp.i=100;
          temp.d=123.23;
          return temp;
          }
          کد شما این بالاست
          دقیقاً معادل کد زیر، فقط این کد حافظه کمتری داره
          =========>
          #include "stdio.h"

          int var1;

          int f();

          void main (void)
          {
          var1=f();
          printf("%d" , var1);//printf("%d %lf",var1.i,var1.d);
          }
          int f()
          {
          int temp;
          temp = 100;
          return temp;
          }

          حالا یه type جدید درست می کنیم به نام struct s_type
          هر جا int داریم از اینا می داریم
          ============>
          #include "stdio.h"

          struct s_type
          {
          int i;
          double d;
          };

          struct s_type var1;

          struct s_type f(void);

          void main (void)
          {
          var1=f();
          printf("%d %lf",var1.i,var1.d);
          }
          struct s_type f(void)
          {
          struct s_type temp;
          temp.i=100; //for access to variable of new type using (variable of type) . (variable can to access) ----> temp . i
          temp.d=123.23;
          return temp;
          }

          دیدگاه


            #6
            پاسخ : مشکل در C

            سلام
            ما تو اسمبلی دستوراتی به اسم های RR و RL داریم که محتوای یک رجیستر رو بدون برگردوندن بیت کری شیفت میدن. و در عوض دستورهای RRC و RLC با هر بار شیفت دادن ، بیت کری رو به ابتدای رجیستر اضافه می کنن. من معادل دو دستور اول رو توی زبان C می دونم ( به شکل زیر ). اما معادل RRC و RLC چیه؟
            reg=reg>>1;

            دیدگاه


              #7
              پاسخ : مشکل در C

              کسی نمی خواد جواب بده؟ :sad:

              دیدگاه


                #8
                پاسخ : مشکل در C

                سلام
                من دستور خاصی به ذهنم نمیرسه،مگر اینکه خودت براش با چند تا دستور بنویسی
                از چه کامپایلری استفاده می کنی؟
                در دیر مغان آمد یارم قدحی در دست
                مست از می می خواران از نرگس مستش مست

                دیدگاه


                  #9
                  پاسخ : مشکل در C

                  سلام
                  من از codevision استفاده می کنم. یعنی معادل این دستور ها تو C وجود نداره؟ این جوری که کار خیلی سخت میشه ... کاری که من می خوام بکنم ، دقیقا اینه که محتوای یک رجیستر رو شیفت بدم طوری که مثلا با شیفت دادن به راست ، بیت LSB بره و به جای MSB بشینه.

                  دیدگاه


                    #10
                    پاسخ : مشکل در C

                    سلام.
                    منم اون زمانی که برای تابلو روان میخواستم این کار رو بکنم دستوری پیدا نکردم. دستی کدش رو نوشتم.
                    موفق باشید.
                    شأن انسان در ايمان و هجرت و جهاد است و هجرت، مقدمهآ‌ي جهاد فيآ‌سبيلآ‌الله.
                    هجرت، هجرت از سنگينيآ‌هاست و جاذبهآ‌هايي كه تو را به خاك ميآ‌چسباند.
                    چكمهآ‌هايت را بپوش، رهآ‌توشهآ‌ات را بردار و هجرت كن.

                    دیدگاه

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