الثلاثاء، 24 مارس 2015

عـمليات الإنقاص والإزادة Operators Decrement and Increment :

عـمليات الإنقاص والإزادة Operators Decrement and Increment :
سنتعرف الآن على عـملية غريبة علينا وهذه العــمليتين هــي عــملية الإزادة
++ وعـملية الإنقاص -- .
ليس ذلك فحسب بل طريقـة كتابة هذه العـمليتين قد تختلف ، وهي صيغتين
إمـا أن تكـون إحـدى هـذه العــمليتين علـى يمـين المتغيـر وإمـا علـى يسـاره
وتختلف في كلا الحـالتين ، حتـى تفهــم مـا أعنيــه لنفـرض أن لـدي متغيـران
الأول هـو a والثاني هـو b ، انظر إلى هذه الأسطر:
a = ++b ;
إن هذا السطر يخبر المترجم بالقول يا أيها المترجم زد قيمـة المتغيـر b رقمـاً
واحداً (أي العـدد 1 ) ثم أسند قيمة المتغير b إلى المتغيـر a .فلـو افترضـنا أن
قيمة المتغير b هـي 6 ، فحينما يقـوم البرنـامج بتنفيـذ السـطر السـابق فإنـه
يقوم أولاً بزيادة المتغير b زيادة واحـدة أي تصـبح قيمتــه 7 ثـم يسـند القيمـة
إلى المتغير a ، أي ستصبح قيمـة المتغير a أيضاً 7 ؛ الآن لو افترضنا أننا قمنـا
بكتابة صيغـة أخرى وهـي هكذا:
a = b ++ ;
ستختلف العـملية هـنا ، والآن قم بالتركيز فيما سيكتب ، أولاً سيأخذ المترجم
قيمـة المتغير b بدون أي تغيير ويقوم بإسنادها إلـى المتغيـر a ثـم بعــد ذلـك
يقـوم بزيـادة المتغيـر b زيـادة واحـدة ، أي أن هـذه الصيغــة عكـس الصيغـــة
السابقـة فلو فرضنا أن قيمـة المتغير b هــي 6 ، فـأولاً سـيأخذ المتغيـر هـذه
القيمـة ويسندها إلى المتغير a ، وبالتالي تصبح قيمـة المتغيـر a هــي 6 ثـم
بعـد ذلك يقوم المترجم بزيادة المتغير b ، أي أنها ستصبح 7 .
أتـمنى أن تكون الصيغتــان مفهـومتــان ، أيضـاً نفـس الشـرح السـابق يطبـق
على عـملية الإنقاص -- ، مع إختلاف العـمل الذي تقومان به طبعاً.

ليست هناك تعليقات:

إرسال تعليق