مجتمع لينوكس المصري

موش هتقدر تطفي الكمبيوتر
 
الرئيسيةالبوابةاليوميةس .و .جبحـثالأعضاءالمجموعاتالتسجيلدخول

شاطر | 
 

 [شرح] Giving A Function Number Of Arguments By y0

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



المساهمات : 114
تاريخ التسجيل : 28/11/2008

مُساهمةموضوع: [شرح] Giving A Function Number Of Arguments By y0   الأحد ديسمبر 28, 2008 11:22 am


?
الموضوع علي بعضه كام سطر اساسا
تخيل انك عايز تعمل دالة في البرنامج بتاعك بتستقبل عدد محدد بواستطك وكل مره العدد ده بيتغير !
يعني مثلا
اقتباس :
arv(5,1,2,3,4,5);
arv(2,1,2);
arv(x,...);
الحل بسيط وسهل جدا وموجود في strarg.h = stander arguments . h
تلات حاجات لازم تعرفهم وهم عباره عن macros يعني functions بس مصغيرين كاحدي استخداماتهم

اقتباس :
va_list;
va_start();
va_arg();
va_end();
واحده واحده بقي
كود PHP:
va_list;
=====================
موضوعها سهل وبسيط ديت الي بتحدد عدد ال arguments الي داخله لل function جميل
زيها زي مثلا
اقتباس :
int x;
بس الفرق انك بتكتب
اقتباس :
va_list argu;
سهله
اقتباس :
/* va_list explanation end*/

اقتباس :
va_start();
======================
بتاخ حاجتين اولا طول المدخلات عددها يعني
ثانيا اول argument في الداله الي هو
for example int x;
يعني
اقتباس :
va_list argu;
va_start(argu,x);
اقتباس :
/* va_start explanation end*/


اقتباس :
va_arg();
===============================
بتاخد حاجتين va_list; + نوع المتغير الذي سوف يدخل في المره الثانيه الي هي بعد x مثلا
اقتباس :
va_arg(argu,int);
اقتباس :
/* va_arg explanation end*/


اقتباس :
va_end();
===============================
باينه قوي يعني هي ديت الي بتنهي المدخلات في الداله
اقتباس :
va_end(argu);
اقتباس :
/* va_end explanation end*/

المثال الشهير جدا وهو حساب متوسط الاعداد

اقتباس :
#include<stdio.h>
#include<stdarg.h>/*for the macros*/
int arv(int x , ...);/* this is a function accepts x number of arguments */
main()
{
printf("\n Coded By Every One In The Net\n");
printf("%d",arv(5,200,500,600,400,500));
}
int arv(int x , ...)
{
int arv=0;
int counter;
va_list argu;
va_start(argu,x);
for(counter=0;counter<x;counter++)
{
arv+=va_arg(argu,int);
}
va_end(argu);
return arv/x;
}
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
 
[شرح] Giving A Function Number Of Arguments By y0
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-
» Asking for , giving and responding to advice
» Norton AntiVirus 2008 15.0.0.58 + serial number
» ماهي Oracle ؟
» اسعار لاب توب
» برنامج PhotoShop 9 CS2 كاملاً + keygen + شرح التثبيت والتنشيط بالصور + جميع التحديثات

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
مجتمع لينوكس المصري :: الأقسام التطويرية (البرمجية) في بيئة GNU/Linux :: .: المقالات والدورات البرمجية :.-
انتقل الى: