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

اضحك مع ++c/c !

بدأه Khaled.Alshaya في 19 أبريل 2009 · 15 رد · 5,482 مشاهدة · في قسم المواضيع الهامة في قسم السي /سي++
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم و رحمة الله ,

يقال أن هناك صنفان من المبرمجين! صنف يفهم المؤشرات و التعاودية Pointers and Recursion و صنف لا يستطيع فهمها,

نطرح اليوم مثالاً قد يضحك البعض و أنا منهم :lol: ,

جميعنا يعرف المصفوفات, و ربما منذ أول شهر تعلمنا فيه اللغة استخدمنا المصفوفات و اعتقدنا أنها كانت نهاية المطاف في مثل هذا المفهوم البسيط المسمى المصفوفات في "++C/C"

انظر إذاً للمثال التالي, و قل لي بالله عليك كيف يمكن أن تفسر التالي :

int x[2] = { 1, 2 };

if( x[1] == 1[x] )
	std::cout << "True"; // this line will be printed arabs;)

لا أعتقد أن هناك شيئاً غريباً سوى:

1[x]

:blink:

الكود صحيح مئة بالمئة :lol: لا تخف فأنت مبرمج ++C/C .....

تحياتي .....

#2

:blink: :wacko:

العمل كثير و الوقت قليل أعاننا الله

seo zen SEO Enlightment amazon danbo

#3

السلام عليكم

والله أفدتنا بشىء اول مره بعرفه

انه يمكن استدعاء عناصر المصفوفه بهذا الشكل الغريب

وجربته على البرنامج التالى

#include<iostream>
using namespace std;
int main()
{
	int x[5]={1,2,3,4,5};
	for(int i=0;i<5;i++)
	cout<<i[x]<<endl;
	return 0;
}

:thumb_up:

طريقه أخرى لإستدعاء عناصر المصفوفه

تحياتى لك

1

اللهم صل على سيدنا محمد وعلى آله وصحبه وسلم

#4

أهلاً بالأخوة :)

حتى لا يعتقد مبرمجو اللغات الأخرى أننا نتعاطى السحر الإلكتروني فإن الفكرة بسيطة جداً :lol:

فلو أخذنا مثال الأخ amin_mu123...

i[x]

الطريقة الأخرى هي الطريقة المعتادة:

x

بما أنك تعرف أن x أو اسم أي مصفوفة في ++C/C ماهو إلا عنوان أول قطعة منها في الذاكرة, فإن عنوان القطعة التي على بعد i من البداية هو:

x + i

أو :blush:

i + x

و معامل المصفوفة [ ] يستخدم لجلب القيمة, فإن التالي هو المطابق تماماً لما كتبناه و لكن بلغة المؤشرات:

*(x + i)
*(i + x)

كما تلاحظ الفرق هو في كيفية الكتابة و ليس في معنى العبارة نفسها... :wink:

تحياتي ....

تم تعديل هذه المشاركة بواسطة Khaled.Alshaya في 19 أبريل 2009 في 21:46

2
#5

حسناً ما رأيكم ببعض المرح :P

خذ الكود التالي على سبيل المثال:

int main(){

	

	return 0;
}

هل ستتم الترجمة ؟!

:lol:

حسناً لكي لا أتعبك ستتم و بكل أناقة B)

كل ما ستحصل عليه هو warning :P و سيعمل الكود بلا مشاكل :)

أعتقد أني أكثرت من المزاح الثقيل :P سامحونا...

تحياتي ,,,

1
#6

السلام عليكم

http:

يطلق عليه اسم

label وهو المستخدم مع جملة goto

وفى برنامجك يحتوى على

return 0;

أما

//www.arabteam2000-forum.com

comment

2

اللهم صل على سيدنا محمد وعلى آله وصحبه وسلم

#7

تمام .

أتيت بها هذه المرة أخ amin_mu123 :)

#8

:lol:

صــفــر

#9

هذه المواضيع يجب أن تجمع :D

أخيراً رأيت fkugd2003 يضع

fkugd2003 كتب:
:blink: :wacko:

:lol:

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#10
اقتباس
أخيراً رأيت fkugd2003 يضع

اكيد يا رجل الصراحة لم اسمع بهذه من قبل... بارك الله في اخي خالد فقد نفعني بمعلومة جديدة

العمل كثير و الوقت قليل أعاننا الله

seo zen SEO Enlightment amazon danbo

#12
int main(){

	

	return 0;
}

لذيذة :):D

تم تعديل هذه المشاركة بواسطة Final Gather في 24 أبريل 2009 في 18:28

[وسط]♥ I love My Heart becouse it loves my Love 

?! ... The Die is cast and what type your cast will be

.Your Life will Be Easy, if you aren't busy

[/وسط]

#13
اقتباس
يقال أن هناك صنفان من المبرمجين! صنف يفهم المؤشرات و التعاودية Pointers and Recursion و صنف لا يستطيع فهمها,

هههههههه اظن اني من الصنف الثاني

لاني اكره المؤشرات ماحب اتعامل معها على الاطلاق ...وماعرف فايدتها :hmm:

بس بجد مشكورين على الموضوع والحركه الحلوة جربتها بالكومبايلر

تم تعديل هذه المشاركة بواسطة a7la khokha في 26 أبريل 2009 في 13:50

#14

بارك الله فيكم على الملاحظات

ما أضيفه هو أن المؤشرات تعتبر من النقاط السلبية للغات سي و سي ++ فلو ضربنا مثالا عن لغات اخرى أحسن منها فنجد باسكال

+++++++++++++++++++++++++++++++++++++++++++++++++++ أخوكم

−3
#15
اقتباس
ما أضيفه هو أن المؤشرات تعتبر من النقاط السلبية للغات سي و سي ++ فلو ضربنا مثالا عن لغات اخرى أحسن منها فنجد باسكال

باسكال بها مؤشرات أصلاً!!!

1
#16

Pascal بها مؤشرات كالـC او ++C .

وكونها ميزة او عيب فهذا يعتمد على الموقف نفسه .

1

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

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