منتديات برامج نت
عزيزي الزائر / عزيزتي الزائرة يرجي التكرم بتسجبل الدخول اذا كنت عضو معنا
او التسجيل ان لم تكن عضو وترغب في الانضمام الي اسرة المنتدي
سنتشرف بتسجيلك
شكرا
ادارة المنتدي

منتديات برامج نت

برامج كمبيوتر و انترنت لغات برمجه و تطوير مواقع قسم خاص بالتصميم و الجرافيك
 
الرئيسيةPortalاليوميةس .و .جالأعضاءالمجموعاتالتسجيلدخول
اهلاوسهلا بكم في منتديات برامج نت ارجو من جميع الزوار التسجيل مع تحيات $الادارة$

شاطر | 
 

 تعلم لغه السى

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل 
كاتب الموضوعرسالة
DESGINER

المدير العام...}


avatar


مُساهمةموضوع: تعلم لغه السى   الثلاثاء مارس 17, 2009 7:18 am

--------------------------------------------------------------------------------

السلام عليكم ورحمة الله وبركاته
أولا لتعلم لغة السي يجب أن تعلمي أن لفظ سي يطلق أحيانا ويقصد به العموم أي لغتي السي والسي بلاس بلاس

ثانيا سأفترض أنك تريدين لغة السي
وقبل أن أشرع في الاجابة على الأسئلة أريد أن أعلق على اجابة الأخ الفاضل \"محب الرسول\" حيث أنه استخدم كلمة public في الأكواد التي كتبها وأعتقد أن هذه الكلمة معرفة في لغة سي بلاس بلاس فقط وليس لها أي معنى في السي

ثالثا void
نظرة عامة على طريقة كتابة الدالة في لغة السي

كود:
return_type fn_name (comma separated arguments if any );for example the one that you already have written

كود:
void code (char*input,char*output,char start);معنى هذا السطر أن الدالة التي اسمها code والتي تأخذ البارامترات input, output, start لن ترجع أي قيمة وإذا كتبنا كلمة int بدلا من void فإن ذلك يعني أن الدالة سترجع قيمة صحيحة وهكذا

ملحوظة
إذا لم تفهمي الشرح الموضح أو توقفت أمامك بعض المصطلحات مثل return_type أو arguments فأنت بحاجة لقراءة أساسيات السي أولا ومن رأيي أن تؤجلي البحث عن موضوع الدوال حتى تتقني العمليات الأساسية أولا مثل برامج المقارنة واخراج أكبر وأصغر عدد وهكذا وأيضا يجب أن تؤجلي التعامل مع ال pointers حتى تتقني مبادئ اللغة أولا

رابعا pointers
لقد قلتي في كلامك بالنص الآتي عندما كنت تتحدثين عن argv
\"هل هو مجرد سطر لتعريف المصفوفة والمؤشر الخاص بها\"
وهذا الكلام غير دقيق
أختي يجب أن تعلمي أن لغة السي ييعامل مع المتغيرات من نوع char* بطريقة مختلفة عن أي نوع آخر مثل int* او void*
بمعنى أن int* معناه أن هناك pointer يستطيع التعامل مع بيانات من نوع int وأيضا void* معناه أن هناك pointer يستطيع التعامل مع أي نوع من المتغيرات حيث إن void لا تحدد نوعا كما وضحنا
لكن الأمر يختلف مع char فبالرغم من أن char متغير يحمل حرفا واحدا فإن من الطبيعي أن يكون char* هو pointer يستطيع النعامل مع بيانات من نوع char أي حرف واحد من البيانات ولكن الأمر يختلف تماما حيث إن char* معناه أن البرنامج سيقوم بتكوين متسلسلة من الحروف string فبدلا من أن يحمل char* حرفا واحدا فإنه يمكن أن يحمل اسما كاملا وبالتالي فإن

كود:
char * argv[]معناه أننا عندنا مصفوفة كل خلية منها تستطيع أن تحمل اسما كاملا بدلا من حرف واحد
وكما سبق ونوهت فإن char* تعني متسلسلة حروف أي مصفوفة حروف لذلك فإنه عند التعامل مع char يجب ملاحظة أن علامة الpointer * تعطي نفس معني الكصفوفة [] لذلك فلا عجب ان وجدت أن الكود مكتوب بهذه الصورة

كود:
char ** argvهو هو نفسه
كود:
char * argv[]وعموما في المرحلة المبتدئة لا يلزم اطلاقا التعامل مع argc or argv لكن يجب فهم كيفية تعامل ال pointer مع البيانات من نوع char
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
EH@B

عضو جديد...}


avatar


مُساهمةموضوع: رد: تعلم لغه السى   الجمعة مايو 22, 2009 12:02 pm

الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو http://a7la-3alam.gid3an.com/forum.htm
 
تعلم لغه السى
استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
منتديات برامج نت :: :::: المنتديات التقنيـــــه :::: :: لغات البرمجه :: لغه السى و السى++و السى#-
انتقل الى: