السلام عليكم
الموضوع بيتكلم عن المنشئات او بالانجليزي structs في ال سي
عباره عن ايه ال struct ديت ؟
بسيطه جدا عباره عن مبني كامل تحت اسم شركة نقول اسمها songs حلو
كل طابق في المبني دوت بيحتوي علي نوع معين من الاغاني
rock
metal
jazz
pop
جميل
محطوطين في الشركه عشان تقدر تستدعيهم عند الحاجه بسهوله
خيلنا نطبق في السي
جميل بقي عندني مبني نستعدي منعه الغاني وقت ماحنا عايزين في خلال البرنامج
know lets get over this intro crap
تعريف الstruct عن طريق struct + the name of this struct or it's tag
وبعدين
عرفنا مصفوفوفات مؤشرات حرفيه عشان تحتوي علي اسامي الاغاني
جميل اذاي سعاتك نقدر نتعامل مع الي جواها؟؟
لحد دلوقتي انت مش تقدر تتعامل معاها الا لما تضيف ليها عنوانها او منشاة البيانات الخاصه بيها
اذاي
تطبيق
او انك تتبع ال struct بال names بتاعتها يعني بعد ال { الي في الاخر تحط name,name2,etc;
you will see this soon
جميل احنا كده حددنا مكان في الميموري عشان نقدر نتعامل مع العناصر داخل ال struct
المكان ده حجمه مجموع احجام العناصر داخل المصفوفه
يعني
نتعامل مع العناصر ديت اذاي بقي
خلينا نعمل برنامج بسيط
لاحظ انك مش تقدر تقوم عامل كده
وده لانك مش تقدر تدخل سلسله في مصفوفه بالمنظر ده
يعني مش تقدر تعمل كده
لانك في الحاله ديت بتقوم مغير اسم المؤشر بتاع المصفوفه لمؤشر سلسله نصيه
تقدر كمان تعمل struct تحتوي علي struct
تقدر كمان تعملها initializing من البدايه
الي حصل بسيط جدا انك عملت ستركت حطيت فيها متغيراتتك ورحت عاملها اسم ورحت عامل الاتي
حطيت في الفيرست نايم "storm" والللاست "man" والرقم 55555555
طيب لو ستركت فيها ستركت حتزود بس {} في الموضوع يعني مثلا
تقدر طبعا تعمل اكتر من ستركت من نفس الاسم ونفس الانواع
كده
تخيل انك لو عايز تعمل مثلا 100 واحد من دول ؟
يبقي حتشتغل لحد الصبح
بسيطه
arrays of structs
يعني تعمل مصفوفه كل عنصر منها هو عباره عن ستركت :>
تقدر تقوم عاملها اكسس كده
-> ديت operator واحده بس بدل ماتعمل
بسيطه صح ؟
طيب لو عايز تعملها initializing من البدايه برده
سهله
كده ناقصك حاجه واحده ال pointers مش قادر اكلمها دلوقتي عشان وقتي بايظ خالص
حبقي اكلمهالكم كمان يوم
يالا باي
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];
{
وبعدين
عرفنا مصفوفوفات مؤشرات حرفيه عشان تحتوي علي اسامي الاغاني
جميل اذاي سعاتك نقدر نتعامل مع الي جواها؟؟
لحد دلوقتي انت مش تقدر تتعامل معاها الا لما تضيف ليها عنوانها او منشاة البيانات الخاصه بيها
اذاي
كود PHP:
strcut tag name;
كود PHP:
struct song my_song;
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);
كود 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;
يبقي حتشتغل لحد الصبح

بسيطه
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;
كود PHP:
(*data+1).gg
طيب لو عايز تعملها initializing من البدايه برده
سهله
كود PHP:
struct this_is_a_good_one
{
char blah;
int gg;
}data[4]=
{
'g',55555
}
{
'a',53122121
}
{
'f',54545455
};
حبقي اكلمهالكم كمان يوم

يالا باي



تعليق