وفي 01 أيلول 2009 11:57 م، ظهر شبح ابتسامة على وجه علي محمد أسماعيل وهو يقول:
لو كانت اللغة مغلقة لما كان هناك اكثر من مجمع للغة.في 02 أيلول 2009 12:13 ص، غمغم مؤيد مارديني باستغراب قائلاً:
راجع ما قاله وسام، مواصفات هذه اللغة وغيرها من اللغات كـ#C مواصفات معروفة ومعلن عنها،بتاريخ 02 أيلول 2009 12:13 ص، قطب مؤيد مارديني حاجبيه بشدة وهو يقول:
وبصراحة لا أعرف ما علاقة Lua بالأمر، ما علاقة Lua بلغة C، وهل إن كانت Lua مفتوحة المصدر تكون ++C\C مفتوحة المصدر؟!في 01 سبتمبر 2009 09:25 م، قال علي محمد أسماعيل بهدوء وتؤدة:
قلت للأخ انس أن كان مهتما بلغة مفتوحة المصدر فله الاطلاع على لغة Lua والتي هي مكتوبة بلغة سي بما اننا كنا نتحدث عن لغة سي.وشكرافي 02 أيلول 2009 12:39 ص، عقد انس حاجبيه بتفكير وقال:
هناك الـ PHP مثلا او Python .static int _IO_strn_overflow (fp, c) _IO_FILE *fp; int c;
{
static int _IO_strn_overflow (_IO_FILE *fp, int c)
{
*sf.f._sbf._f._IO_write_ptr = '\0';
->
في 02 أيلول 2009 08:21 م، غمغم انس باستغراب قائلاً:
قديمة و ان الاصدار الحالي او الذي قبله للغة السي يقبل ما هو اسهل للقراءةبتاريخ 02 أيلول 2009 08:21 م، قطب انس حاجبيه بشدة وهو يقول:
او لم يكن من الافضل استعمال الرمز ->وفي 02 أيلول 2009 08:21 م __اما ما يحيرني دائما فهو سبب استعمال ال، أعرب انس عن رأيه بالموقف كالآتي:
عند التسميوفي 03 سبتمبر 2009 07:39 ص، أعرب عبد اللطيف حاجي علي عن رأيه بالموقف كالآتي:
وكيف تقترج استخدامه؟ لاحظ أن للعملية . أولوية أكبر من العملية * لذلك فما تقوم به هنا هو dereference للمتغير _IO_write_ptr.struct sprite {
BITMAP* surface;
int x , y ;
int w , h ;
};
struct player {
sprite* spr ;
int life ;
};
لكي نستطيع التعامل مع المؤشر هناك طريقتين:Player p1;
pl1->spr = creat_sprite();
pl1->spr->surface = creat_new_surface("image01.png");
الطريقة الثانية :Player p1;
*pl1.spr = creat_sprite();
typedef struct _Test
{
int* pMember;
}Test;
int main()
{
Test test;
Test *pTest;
*test.pMember = 5;
pTest->pMember = 5;
*pTest->pMember = 5;
*pTest.pMember = 5;
}
*test.pMember = 5;
هذا الكود يقوم بالوصول إلى pMember داخل test ثم عمل dereference له والكتابة فيه. لاحظ أن test ليس مؤشراً ولا يحتاج إلى dereferencepTest->pMember = 5;
هنا نصل إلى pMember عن طريق عمل dereference لـ pTest باستخدام العملية (->) ونحاول الكتابة في pMember مباشرة. (أي أن قيمة المؤشر تصبح 5)*pTest->pMember = 5;
هذا السطر يشبه الذي قبله لكن ما نقوم به هو الكتابة في المكان الذي يؤشر له pMember وذلك بعد أن نعمل له dereference باستخدام العملية (*)*pTest.pMember = 5;
نأتي إلى السطر المتهم. ما تعتقده أنت هو أن العملية (*) ستقوم بعمل dereference لـ pTest ثم نصل إلى pMember عن طريق الناتج ذي النوع Test باستخدام العملية (.)