الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ما هو الCasting في البرمجة! وما فائدته؟

بدأه A.S Hack في 24 يوليو 2010 · 8 رد · 1,474 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم أخواني

أسأل عن شيء في البرمجة يُسمى Casting ما هو بالضبط؟ فائدته؟ وترجمته العربية؟

أرجو التوضيح على لغة C ان كان ذلك ممكنا...

أخوكم.

" إن الله كتب الإحسان على كل شيء"

::

الإرادة ... تحقق السيادة.

#3

معذرة اخي لا أجيد الانجليزية، شكرا على محاولة المساعدة.

" إن الله كتب الإحسان على كل شيء"

::

الإرادة ... تحقق السيادة.

#4

هذا السؤال مكانه فى قسم السى و ليس هنا

مدونتي: C++ Tips and Tricks

#5

آسف أخي محمد علاء الدين اذا كنت قد أخطأت المكان... ولكن هذا ما هو مكتوب تحت قسم لغة السي

اقتباس
منتدى مبرمجي C و ++C

يناقش هذا المنتدى النسخ القياسيه من اللغات C و ++C و لـ ++Visual C و MFC يتم وضع الأسئله الخاصه بهم بقسم الـ Windows API

" إن الله كتب الإحسان على كل شيء"

::

الإرادة ... تحقق السيادة.

#6

السلام عليكم

اقتباس
أسأل عن شيء في البرمجة يُسمى Casting ما هو بالضبط؟

التحويل بين أنواع المتغيرات أو الـ Casting :

يمكن للمترجم التحويل بين أنواع المتغيرات هكذا:

int a=5;
float b=a;

قبل إسناد قيمة المتغير a إلى b فإنه يتم تحويل و ترقية المتغير a إلى رتبة float و من ثم تبدأ عملية الإسناد وهذا النوع من التحويل يسمى بالتحويل التلقائي لأن المترجم يقوم به تلقائيا و شرط وقوعه هو أن يكون حجم المتغير المراد إسناده أصغر من أو يساوي حجم المتغير المسند إليه (كما في المثال السابق) أما إن أردنا تخصيص متغير ذو حجم أكبر إلى متغير ذو حجم أصغر فإنه يتم استخدام التحويل القسري و صغته كالتالي:

var1=(type)var2;

أو

var1=type(var2);

حيث type هو نوع المتغير var1 ,و المتغيرvar2 هو المتغير ذو الحجم الأكبر.

مثال:

float a=-5.601
int b=(int)a//و يمكننا كتابة int b=int(a)

اقتباس
ما فائدته؟

لنفترض أنك قمت بالإعلان عن عدد من المتغيرات أحدها حقيقي (float) و في منطقة معينة من برنامجك أدرت استخدام المتغير الحقيقي كمتغير صحيح (int) , عندها ستحتاج إلى الـ Casting :)

بشكل عام:

تحتاج إلى الـ Casting عندما تريد استخدام متغير معين كمتغير من نوع آخر .. حينها ستحتاج إلى الـ Casting للتحويل بين أنواع المتغيرات.

تحياتي.

1
#7

تبارك الرحمن

أشكرك جزيل الشكر أخي Khaled_prg

هل لي أن أستزيد منك في بعض النقاط إن أمكن ذلك...

مثلا أخي خالد قلت

اقتباس
تحتاج إلى الـ Casting عندما تريد استخدام متغير معين كمتغير من نوع آخر

ومتى سنحتاج لمثل ذلك التحويل! هل يمكن أن توضح الموضوع بمثال بوركت، أنا فهمت أننا نحتاج الـCasting اذا أردنا أن نحول أنواع المتغيرات، لكن هل لهذا الأمر تطبيقات معينة!!

الأمر الآخر ما هي الترجمة العربية لهذا المصطلح؟

" إن الله كتب الإحسان على كل شيء"

::

الإرادة ... تحقق السيادة.

#8

السلام عليكم

اقتباس
هل لي أن أستزيد منك في بعض النقاط إن أمكن ذلك

بكل تأكيد :)

اقتباس
ومتى سنحتاج لمثل ذلك التحويل! هل يمكن أن توضح الموضوع بمثال بوركت، أنا فهمت أننا نحتاج الـCasting اذا أردنا أن نحول أنواع المتغيرات، لكن هل لهذا الأمر تطبيقات معينة!!

راجع هذا الموضوع (المشاركة رقم 2):

سؤالي في لغة السي

اقتباس
فى كل الأحوال العدد المدخل ك string

وتعريف متغير يعبر عن المجموع

عمل حلقة على حروف ال string واضافة قيمة الحرف للمجموع بعد تحويله لـ int

لاحظ أننا سنحتاج إلى الـ casting (من char إلى int)

اقتباس

الأمر الآخر ما هي الترجمة العربية لهذا المصطلح؟

يقول له البعض : "التحويل القسري !"

بالتوفيق :)

#9

أشكرك أخي خالد للمعاونتي وبارك الله فيك..

هذا أيضا بعض ما وجدته، في الشبكة ولا أدرى مدى دقته..

Let there be three functions:

int fa(int x);

int fb(float x);

int fc(double x);

we want to make a uniform function calls to all functions.

so the soluation is casting

casting.gif

" إن الله كتب الإحسان على كل شيء"

::

الإرادة ... تحقق السيادة.

مواضيع مشابهة