سی آپریٹر پریزیڈنس اور ایسوسی ایٹیٹی کیا ہے؟

Sy Apry R Pryzy Ns Awr Ayswsy Ay Y Y Kya



آپریٹرز کو عام طور پر C میں مختلف ریاضی اور منطقی کارروائیوں کو انجام دینے کے لیے استعمال کیا جاتا ہے۔ C پروگرامنگ زبان ایک مخصوص ترتیب کی پیروی کرتی ہے جسے کہا جاتا ہے۔ آپریٹر کی ترجیح اور ایسوسی ایٹیٹی عملدرآمد کے دوران کارروائیوں کی ترتیب کا تعین کرنے کے لیے۔ کے قوانین آپریٹر کی ترجیح اور ایسوسی ایٹیٹی غلطی سے پاک کوڈ لکھنے میں مدد کریں اور کوڈ پڑھنے کی اہلیت میں اضافہ کریں۔

یہ مضمون ایک جامع ٹیوٹوریل فراہم کرتا ہے جو آپ کو C میں رفاقت اور آپریٹر کی ترجیح کے بارے میں سیکھنے میں مدد فراہم کرتا ہے۔

C میں آپریٹر کی ترجیح

آپریٹر کی ترجیح اس ترتیب کو بیان کرتا ہے جس میں تاثرات کا اندازہ کرتے ہوئے کئی آپریٹرز کا جائزہ لیا جاتا ہے۔ مثال کے طور پر، اگر کسی اظہار میں اضافہ اور ضرب دونوں آپریٹرز ہیں، تو پہلے کس کا جائزہ لیا جانا چاہیے؟ جواب آسان ہے، C اس طرح کے ابہام کو حل کرنے کے لیے کچھ اصولوں کی پیروی کرتا ہے، جسے عام طور پر کہا جاتا ہے۔ آپریٹر کی ترجیح . سی میں، آپریٹر کی ترجیح اسے 17 سطحوں میں درجہ بندی کیا گیا ہے، جس میں یونری آپریٹرز سے لے کر ٹرنری کنڈیشنل آپریٹر تک شامل ہیں۔ سب سے زیادہ استعمال ہونے والے آپریٹرز جیسے ریاضی کے آپریٹرز، رشتہ دار آپریٹرز، منطقی آپریٹرز، اور بٹ وائز آپریٹرز C معیار کی پیروی کرتے ہیں آپریٹر کی ترجیح پروٹوکول.







مقدم قواعد یہ بتاتے ہیں کہ کون سے آپریٹرز کو اظہار کی جانچ کرتے وقت دوسروں سے زیادہ ترجیح حاصل ہے۔ سی پروگرامنگ زبان میں کئی قسم کے آپریٹرز کی ڈگریاں مختلف ہوتی ہیں۔ ترجیح . مثال کے طور پر، یونری آپریٹرز کو بائنری آپریٹرز سے زیادہ ترجیح حاصل ہوتی ہے۔ مندرجہ ذیل آپریٹرز کی ایک فہرست ہے جس کو صعودی ترتیب میں ترتیب دیا گیا ہے۔ ترجیح :



آپریٹر آپریٹر کے معنی ایسوسی ایٹیٹی
()
[ ]
->
.
فنکشنل کال

صف کے عنصر کا حوالہ



بالواسطہ ممبر کا انتخاب





براہ راست ممبر کا انتخاب

بائیں سے دائیں
!
~
+
-
++
-
اور
*
کا سائز
(قسم)
منطقی نفی

Bitwise (1's) تکمیل

یونری پلس

یونیری مائنس

اضافہ

کمی

حوالہ (پتہ)

اشارہ کرنے والا حوالہ

کسی چیز کا سائز لوٹاتا ہے۔

ٹائپ کاسٹ (تبدیلی)

دائیں سے بائیں
*
/
%
ضرب

تقسیم کرنا

باقی

بائیں سے دائیں
+
-
بائنری پلس (اضافہ)

بائنری مائنس (گھاٹا)

بائیں سے دائیں
<<
>>
بائیں شفٹ

دائیں شفٹ

بائیں سے دائیں
<
<=
>
>=
سے کم

سے کم یا برابر

اس سے بڑا

سے بڑا یا برابر

بائیں سے دائیں
==
!=
کے برابر

کے برابر نہیں۔

بائیں سے دائیں
اور بٹ وائز اور بائیں سے دائیں
^ Bitwise خصوصی OR بائیں سے دائیں
| Bitwise OR بائیں سے دائیں
&& منطقی اور بائیں سے دائیں
|| منطقی OR بائیں سے دائیں
؟: مشروط آپریٹر دائیں سے بائیں
=
*=
/=
%=
+=
-=
&=
^=
|=
<<=
>>=
سادہ تفویض

پروڈکٹ تفویض کریں۔

حصہ تفویض کریں۔

باقی تفویض کریں۔

رقم تفویض کریں۔

فرق تفویض کریں۔

بٹ وائز اور تفویض کریں۔

bitwise XOR تفویض کریں۔

بٹ وائز یا تفویض کریں۔

بائیں شفٹ تفویض کریں۔

دائیں شفٹ تفویض کریں۔

دائیں سے بائیں
, اظہار کو الگ کرنے والا بائیں سے دائیں

یہ قواعد مرتب کرنے والے کی رہنمائی کرتے ہیں کہ ایک ہی اظہار میں متعدد آپریٹرز کے ساتھ اظہار کا اندازہ کیسے لگایا جائے۔ ضرب آپریٹر، مثال کے طور پر، مساوات A + B * C میں اضافی آپریٹر سے زیادہ فوقیت رکھتا ہے، اس کے مطابق ترجیح قواعد لہذا، مرتب کرنے والا نتیجہ میں A کو شامل کرنے سے پہلے اظہار B*C کا جائزہ لے گا۔

کی ایک مثال دیکھتے ہیں۔ آپریٹر کی ترجیح کوڈ کے ذریعے.

# شامل کریں

int مرکزی ( ) {

int a = 43 , ب = گیارہ , c = 16 , ڈی = 31 ;

int نتیجہ = ++ a * ب -- + c / -- ڈی ;

printf ( 'a = %d \n ' , a ) ;

printf ( 'b = %d \n ' , ب ) ;

printf ( 'c = %d \n ' , c ) ;

printf ( 'd = %d \n ' , ڈی ) ;

printf ( نتیجہ = %d \n ' , نتیجہ ) ;

واپسی 0 ;

}

مذکورہ کوڈ میں چار متغیرات a، b، c اور d کا اعلان کیا گیا ہے، اور ان کی ابتدائی قدریں 43، 11، 16، اور 31 اس کے مطابق ہیں۔ پھر، یہ ایک اظہار میں ان متغیرات پر مختلف قسم کے ریاضی اور تفویض آپریٹرز کا اطلاق کرتا ہے۔ ایکسپریشن پری انکریمنٹ آپریٹر ++a کا استعمال کرتے ہوئے a کی قدر کو بڑھاتا ہے، بعد میں کمی کے آپریٹر b– سے نتیجہ کو ضرب دیتا ہے، اور پھر d کی پہلے سے گھٹی ہوئی قدر سے تقسیم کرنے والے c میں نتیجہ شامل کرتا ہے۔ (پری ڈیکرمنٹ آپریٹر کا استعمال کرتے ہوئے –d)۔ متغیر نتیجہ پھر اس اظہار کے کل نتائج کو رکھنے کے لیے استعمال کیا جاتا ہے۔

آؤٹ پٹ

سی میں ایسوسی ایٹیوٹی

ایسوسی ایٹیٹی اس ترتیب سے مراد ہے جس میں آپریٹرز کو ایک ہی ترجیح کے ساتھ اظہار کے دوران جانچا جاتا ہے۔ بائیں سے دائیں اور دائیں سے بائیں ایسوسی ایٹیٹی سی میں ایسوسی ایٹیوٹی کی دو شکلیں ہیں۔ اگر دو آپریٹرز ایک جیسے ہیں۔ ترجیح ، ان کا اندازہ بائیں سے دائیں کے تصور کے مطابق کیا جاتا ہے۔ ایسوسی ایٹیٹی . اس کے باوجود، اگر اسی ترجیح کو دیکھا جائے تو، آپریٹرز کو دائیں سے بائیں کے مطابق دائیں سے بائیں جانچا جاتا ہے۔ ایسوسی ایٹیٹی .

مثال کے طور پر، ++ انکریمنٹ آپریٹر کے پاس دائیں سے بائیں ہوتا ہے۔ ایسوسی ایٹیٹی ، جس کا مطلب ہے اضافہ آپریٹر متغیر کے بعد جانچا جاتا ہے۔ جبکہ منطقی اور آپریٹر ایک بائیں سے دائیں ہے ایسوسی ایٹیٹی ، جس کا مطلب ہے کہ آپریٹر کا اندازہ بائیں سے دائیں طرف کیا جاتا ہے۔

# شامل کریں

int main() {

int a = 6 , b = 3 , c = 2 ;

int نتیجہ = a * b / c؛

پرنٹ ایف( نتیجہ = %d \n ' نتیجہ)

واپسی 0 ;

}

اس کوڈ میں تین متغیرات a، b، اور c کا اعلان کیا گیا ہے، اور ان کی ابتداء بالترتیب 6، 3 اور 2 کی گئی ہے۔ پھر، یہ ایک اظہار میں ان متغیرات پر ضرب اور تقسیم کی کارروائیوں کا اطلاق کرتا ہے۔ ضرب اور تقسیم کو ان کی بنیاد پر C میں بائیں سے دائیں درجہ بندی کیا گیا ہے۔ ایسوسی ایٹیٹی جیسا کہ ان کی ترجیحی سطح ایک ہی ہے۔ اس سے ظاہر ہوتا ہے کہ تقسیم کا عمل پہلے آتا ہے، اس کے بعد ایکسپریشن کا اندازہ کرتے وقت ضرب آپریشن، a * b/c۔

آؤٹ پٹ

نتیجہ

آپریٹر کی ترجیح اور ایسوسی ایٹیٹی سی پروگرامنگ میں اہم تصورات ہیں جو اظہار کے عمل کی ترتیب کا تعین کرنے میں مدد کرتے ہیں۔ سب سے زیادہ کے ساتھ آپریٹرز ترجیح سطح کا پہلے جائزہ لیا جاتا ہے۔ ایسوسی ایٹیٹی قواعد ترتیب کا تعین کرنے میں مدد کرتے ہیں جب ایک ہی ترجیح والے متعدد آپریٹرز استعمال کیے جاتے ہیں۔ سمجھنا آپریٹر کی ترجیح اور ایسوسی ایٹیٹی پیچیدہ پروگراموں کو ڈیزائن کرتے وقت ضروری ہے، اور یہ کم غلطیوں کے ساتھ صاف ستھرا اور زیادہ موثر کوڈ تیار کرنے میں مدد کرتا ہے۔