منتديات برامج نت
عزيزي الزائر / عزيزتي الزائرة يرجي التكرم بتسجبل الدخول اذا كنت عضو معنا
او التسجيل ان لم تكن عضو وترغب في الانضمام الي اسرة المنتدي
سنتشرف بتسجيلك
شكرا
ادارة المنتدي
منتديات برامج نت
عزيزي الزائر / عزيزتي الزائرة يرجي التكرم بتسجبل الدخول اذا كنت عضو معنا
او التسجيل ان لم تكن عضو وترغب في الانضمام الي اسرة المنتدي
سنتشرف بتسجيلك
شكرا
ادارة المنتدي
منتديات برامج نت
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

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

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

 

 تعلم لغه السى

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

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


DESGINER



تعلم لغه السى Empty
مُساهمةموضوع: تعلم لغه السى   تعلم لغه السى Icon_minitimeالثلاثاء مارس 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

عضو جديد...}


EH@B



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

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

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