إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

structs in c

تقليص
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • structs in c

    السلام عليكم
    gea8s to strikerx
    حاجه بسيطه كده وسريعه لاني مش فاضي خالص
    الموضوع بيتكلم عن المنشئات او بالانجليزي structs في ال سي
    عباره عن ايه ال struct ديت ؟
    بسيطه جدا عباره عن مبني كامل تحت اسم شركة نقول اسمها songs حلو
    كل طابق في المبني دوت بيحتوي علي نوع معين من الاغاني
    rock
    metal
    jazz
    pop
    جميل
    محطوطين في الشركه عشان تقدر تستدعيهم عند الحاجه بسهوله
    خيلنا نطبق في السي
    كود PHP:
    songs
    {
    rock
    metal
    jazz
    pop
    rock
    metal

    جميل بقي عندني مبني نستعدي منعه الغاني وقت ماحنا عايزين في خلال البرنامج
    know lets get over this intro crap
    كود PHP:
    struct songs
    {
    char *rock[4];
    char *metal[4];
    char *i_hate_this_girl[6];

    تعريف الstruct عن طريق struct + the name of this struct or it's tag
    وبعدين
    عرفنا مصفوفوفات مؤشرات حرفيه عشان تحتوي علي اسامي الاغاني
    جميل اذاي سعاتك نقدر نتعامل مع الي جواها؟؟
    لحد دلوقتي انت مش تقدر تتعامل معاها الا لما تضيف ليها عنوانها او منشاة البيانات الخاصه بيها
    اذاي
    كود PHP:
    strcut tag name
    تطبيق
    كود PHP:
    struct song my_song
    او انك تتبع ال struct بال names بتاعتها يعني بعد ال { الي في الاخر تحط name,name2,etc;
    you will see this soon
    جميل احنا كده حددنا مكان في الميموري عشان نقدر نتعامل مع العناصر داخل ال struct
    المكان ده حجمه مجموع احجام العناصر داخل المصفوفه يعني
    كود PHP:
    sizeof(first element)+sizeof(next element)+etc 
    نتعامل مع العناصر ديت اذاي بقي
    the struct member operator "."
    يعني . حلو اذاي ؟
    خلينا نعمل برنامج بسيط
    كود PHP:
    struct songs
    {
    char *rock[4];
    char *metal[4];
    char *i_hate_this_girl[6];
    }
    my_songs;
    strcpy(my_songs.rock[0],"Katharine McPhee over it");
    strcpy(my_songs.rock[1],"Bring me to live");
    /* now print them */
    printf("%s\n%s",my_songs.rock[0],my_songs.rock[1]); 
    لاحظ انك مش تقدر تقوم عامل كده
    كود PHP:
    my_songs.rock[0]="blah blah"
    وده لانك مش تقدر تدخل سلسله في مصفوفه بالمنظر ده
    يعني مش تقدر تعمل كده
    كود PHP:
    char name[20];
    name="storm"
    لانك في الحاله ديت بتقوم مغير اسم المؤشر بتاع المصفوفه لمؤشر سلسله نصيه
    تقدر كمان تعمل struct تحتوي علي struct
    كود PHP:
    struct numbers
    {
    int x;
    int y;
    }
    struct note
    {
    struct number  first_number;
    struct number second_number;
    }
    my_note;
    scanf("%d",&my_note.first_number.x);
    scanf("%d",&my_note.first_number.y);
    scanf("%d",&my_note.second_number.x);
    scanf("%d",&my_note.second_number.x); 
    تقدر كمان تعملها initializing من البدايه
    كود PHP:
    struct names
    {
    char first_name[20];
    char last_name[20];
    int my_number;
    }
    note=
    {
    "storm",
    "man",
    555555555
    }; 
    الي حصل بسيط جدا انك عملت ستركت حطيت فيها متغيراتتك ورحت عاملها اسم ورحت عامل الاتي
    حطيت في الفيرست نايم "storm" والللاست "man" والرقم 55555555
    طيب لو ستركت فيها ستركت حتزود بس {} في الموضوع يعني مثلا
    كود PHP:
    struct numbers
    {
    int x;
    int y;
    }
    struct note
    {
    struct number  first_number;
    struct number second_number;
    }
    my_note=
    {
    {
    5,6},
    {
    10,11}
    }; 
    تقدر طبعا تعمل اكتر من ستركت من نفس الاسم ونفس الانواع
    كده
    كود PHP:
    struct you_will_c_how_much_this_is_stupid
    {
    char blah;
    int gg;
    }
    fist,second,third,etc,etc,etc
    تخيل انك لو عايز تعمل مثلا 100 واحد من دول ؟
    يبقي حتشتغل لحد الصبح
    بسيطه
    arrays of structs
    يعني تعمل مصفوفه كل عنصر منها هو عباره عن ستركت :>
    كود PHP:
    struct this_is_a_good_one
    {
    char blah;
    int gg;
    }
    data[4]; 
    تقدر تقوم عاملها اكسس كده
    كود PHP:
    data[0]->gg=55555;
    data[1]->gg=22222
    -> ديت operator واحده بس بدل ماتعمل
    كود PHP:
    (*data+1).gg 
    بسيطه صح ؟
    طيب لو عايز تعملها initializing من البدايه برده
    سهله

    كود PHP:
    struct this_is_a_good_one
    {
    char blah;
    int gg;
    }
    data[4]=
    {
    'g',55555
    }
    {
    'a',53122121
    }
    {
    'f',54545455
    }; 
    كده ناقصك حاجه واحده ال pointers مش قادر اكلمها دلوقتي عشان وقتي بايظ خالص
    حبقي اكلمهالكم كمان يوم
    يالا باي

    BOOOF , I AM GONE
    Still , you gotta wait for my PRESENT :D
    C programming arabic Tutorial|Programming-fr34ks

  • #2
    بارك الله فيك يا م.ستورم يا باشا .. ^_^
    GCS

    تعليق


    • #3
      thanks man
      BOOOF , I AM GONE
      Still , you gotta wait for my PRESENT :D
      C programming arabic Tutorial|Programming-fr34ks

      تعليق


      • #4
        lol موضوع جااامد ياستورم والله .. وشرح لذيذ مش ممل يخلى الواحد عايز يكسر رقبة الكاتب ( لسه قارى مقال خنقنى )

        شكرا ياباشا على الموضوع والإهداء
        Programming-Fr34ks[dot]NET
        Ma Weblog
        ابدأ بتعلم Python | Ruby
        كتاب البايثون متوافر الآن
        لا اتواجد بهذا المنتدى ... للإتصال

        تعليق


        • #5
          break my nick
          You can Dream About This
          You Are Welcome Bro
          BOOOF , I AM GONE
          Still , you gotta wait for my PRESENT :D
          C programming arabic Tutorial|Programming-fr34ks

          تعليق


          • #6
            St0rM r0X

            تعليق


            • #7
              Mutati0N r0x more than me
              thanks dude
              BOOOF , I AM GONE
              Still , you gotta wait for my PRESENT :D
              C programming arabic Tutorial|Programming-fr34ks

              تعليق

              يعمل...
              X