سی کمپیوٹر کی زبان میں جامد افعال

Sy Kmpyw R Ky Zban My Jamd Af Al



'static' کمپیوٹر کی زبان میں ایک محفوظ لفظ ہے، C. یہ ایک سٹوریج کلاس سپیفائر ہے جسے فنکشنز کے ساتھ استعمال کیا جا سکتا ہے۔ A C پروگرام میں ایک سے زیادہ فائلیں ہو سکتی ہیں۔ فائلوں میں سے صرف ایک میں C main() فنکشن ہونا چاہیے۔ اس مضمون میں صرف دو فائلوں پر غور کیا گیا ہے: C main() فنکشن والی فائل جسے mainFile.c کہتے ہیں اور دوسری فائل جس میں مین فنکشن نہیں ہے جسے otherFile.c کہا جاتا ہے۔

گلوبل فنکشن

ایک عالمی فنکشن ایک فنکشن ہے جو مین () فنکشن سے پہلے سی فائل میں بیان کیا جاتا ہے۔ یہاں تک کہ main() فنکشن ایک عالمی فنکشن ہے لیکن main() فنکشن اس مضمون میں فوکس نہیں ہے۔ زبان C میں، پروگرامر کی طرف سے بیان کردہ فنکشنز عام طور پر عالمی فنکشن ہوتے ہیں اور انہیں صرف فنکشنز کہا جاتا ہے۔

ایک عالمی فنکشن کو اس کی فائل میں کسی بھی دائرہ کار میں بلایا جا سکتا ہے۔ کسی عالمی فنکشن کو مختلف فائل میں دیکھنے کے لیے، اس کے پروٹو ٹائپ کو اس مختلف فائل میں ظاہر کرنا ہوگا (نیچے ملاحظہ کریں۔) ایک فائل میں بیان کردہ فنکشن کو مختلف فائل میں دیکھنے سے روکنے کے لیے، تعریف سے پہلے محفوظ لفظ، جامد۔ اس کے ساتھ، جامد فنکشن صرف اس کی اپنی فائل میں ایک عالمی فنکشن ہوگا اور کسی دوسری فائل میں نہیں دیکھا جائے گا۔







لہذا، otherFile.c میں بیان کردہ ایک عالمی فنکشن otherFile.c میں کہیں بھی دیکھا جا سکتا ہے۔ اسے mainFile.c میں دیکھنے کے لیے، اس کے پروٹو ٹائپ کو mainFile.c میں ڈکلیئر کرنا ہوگا (نیچے ملاحظہ کریں۔) otherFile.c میں اس کی تعریف 'static' سے پہلے نہیں ہونی چاہیے۔ اسے mainFile.c میں نظر آنے سے روکنے کے لیے، otherFile.c میں اس کی تعریف کو staticremoved کوما سے پہلے لفظ، static بنانا ہوگا۔



یہ مضمون کمپیوٹر کی زبان میں جامد فنکشن کی وضاحت کرتا ہے، C فنکشن پروٹو ٹائپ کے معنی سے شروع ہوتا ہے اور دو یا دو سے زیادہ فائلوں کے C پروگرام میں اس کے استعمال ہوتا ہے۔



فائلوں کی تالیف، mainFile.c اور otherFile.c، درج ذیل Bash ٹرمینل کمانڈ کے ساتھ کی جا سکتی ہے:





جی سی سی مین فائل۔ c دوسری فائل۔ c - وہ درجہ حرارت exe

temp.exe نتیجے میں آنے والی سنگل ایگزیکیوٹنگ فائل کا نام ہے۔

مضمون کا مواد



- تعارف - اوپر دیکھیں

- سی فنکشن پروٹو ٹائپ

- گلوبل فنکشن

- جامد فنکشن مناسب

- نتیجہ

سی فنکشن پروٹو ٹائپ

عالمی فنکشن کی تعریف پر غور کریں:

چار * fn1 ( چار * stri ) {
واپسی stri ;
}

اس فنکشن کے لیے پروٹوٹائپ یہ ہے:

چار * fn1 ( چار * stri ) ;

یہ فنکشن کا دستخط ہے، جس کا اختتام سیمی کالون میں ہوتا ہے۔

اب، otherFile.c کے مواد کو رہنے دیں:

چار * fn1 ( چار * stri ) {

واپسی stri ;

}

فرض کریں کہ فائل، otherFile.c میں صرف عالمی فنکشن، fn1() کی تعریف ہے۔ اب فائل کا مواد، mainFile.c، ہونے دیں:

# شامل کریں

چار * fn1 ( چار * stri ) ;

int مرکزی ( )
{
چار * str = fn1 ( 'دیکھا' ) ;
printf ( '%s \n ' , str ) ;

واپسی 0 ;
}

یہ ہیڈر (لائبریری) کی شمولیت سے شروع ہوتا ہے۔ اس کے بعد دوسری فائل کے فنکشن، fn() کا پروٹو ٹائپ ڈیکلریشن آتا ہے۔

اس مین فائل میں ڈیفالٹ main() فنکشن کے علاوہ کسی بھی عالمی فنکشن کی تعریف نہیں ہے۔ مین فنکشن میں، پہلا اسٹیٹمنٹ دوسری فائل میں بیان کردہ فنکشن fn1() کو کال کرتا ہے۔ یہ کال موثر نہیں ہوگی اگر اس فائل میں fn1() کے پروٹو ٹائپ کا اعلان نہ کیا گیا ہو، mainFile.c۔

اگر قاری نے مندرجہ بالا دو فائلوں کو کوڈ کیا ہے، تو وہ مندرجہ ذیل کمانڈ کے ساتھ پروگرام کو ایک قابل عمل فائل میں مرتب کر سکتا ہے۔

جی سی سی مین فائل۔ c دوسری فائل۔ c - وہ درجہ حرارت exe

لائن کے آخر میں Enter کلید کو دبانے سے۔ آؤٹ پٹ، 'دیکھا' ہونا چاہئے.

گلوبل فنکشن

mainFile.c فائل کو اس طرح تبدیل کیا جا سکتا ہے:

# شامل کریں

چار * fn1 ( چار * stri ) ;

چار * fn ( چار * st ) {
واپسی st ;
}

int مرکزی ( )
{
چار * str1 = fn1 ( 'دیکھا' ) ;
printf ( '%s \n ' , str1 ) ;
چار * str2 = fn ( 'عالمی اس کی فائل میں دیکھا گیا ہے۔' ) ;
printf ( '%s \n ' , str2 ) ;
واپسی 0 ;
}

اب، فائل میں دو عالمی فنکشنز ہیں، mainFile.c۔ فنکشنز کے نام fn() اور مین() ہیں۔ dfn() ایک عالمی فنکشن ہے۔ اسے مین () فنکشن لوکل اسکوپ میں ایک کال کے ذریعے دیکھا گیا ہے۔ زبان C میں، عالمی دائرہ کار میں ایک عالمی فنکشن، جیسے fn()، کو صرف ایک فنکشن کہا جاتا ہے۔ نیز، عالمی فنکشن، fn1() فائل میں، otherFile.c کو صرف ایک فنکشن کے طور پر کہا جاتا ہے۔

اگر دونوں فائلوں کو temp.exe میں دوبارہ مرتب کیا جاتا ہے، تو آؤٹ آؤٹ یہ ہوگا:

دیکھا

گلوبل اس کی فائل میں دیکھا۔

نوٹ: fn() کے لیے فنکشن کی تعریف دوسری فائل، otherFile.c میں بھی دیکھی جا سکتی ہے۔ اسے حاصل کرنے کے لیے otherFile.c میں اس کا پروٹو ٹائپ ڈیکلریشن درج ذیل ہے:

چار * fn ( چار * st ) ;

سیمی کالون کے ساتھ ختم ہوتا ہے۔ یہ سرگرمی، قاری کے لیے ایک مشق کے طور پر چھوڑ دی گئی ہے۔

جامد فنکشن مناسب

مندرجہ بالا بحث سے، کسی فنکشن کو اس کی فائل میں کسی بھی دائرہ کار میں (کہیں بھی) دیکھا جا سکتا ہے۔ اسے ایک مختلف فائل میں بھی دیکھا جا سکتا ہے، اسی پروگرام کے لیے، اگر اس کا پروٹو ٹائپ وہاں اعلان کیا جائے۔ فائل کی تعریف کو کسی مختلف فائل میں نظر آنے سے روکنے کے لیے، مخصوص لفظ، جامد کے ساتھ پہلے سے تعریف کو جامد بنائیں۔ یہاں تک کہ اگر اس کا پروٹو ٹائپ مختلف فائل میں ڈکلیئر کر دیا جائے، تب بھی یہ مختلف فائل میں نظر نہیں آئے گا۔ پروگرام کی فائلیں بھی مرتب نہیں ہوں گی۔ اس کی وضاحت کرنے کے لیے، فائل، otherFile.c کے مواد کو ہونے دیں:

جامد چار * fn1 ( چار * stri ) {

واپسی stri ;

}

یہ فائل میں وہی مواد ہے، otherFile.c، پہلے کی طرح، لیکن پہلے والے محفوظ لفظ کے ساتھ، جامد۔ mainFile.c فائل کا مواد وہی رہتا ہے۔ اگر کمانڈ کے ساتھ پروگرام فائلوں کو مرتب کرنے کی کوشش کی جاتی ہے،

جی سی سی مین فائل۔ c دوسری فائل۔ c - وہ درجہ حرارت exe

کمپائلر ایک ایرر میسج جاری کرے گا، یعنی پروگرام نے کمپائل نہیں کیا۔ یہاں تک کہ اگر مختلف فائل میں پروٹو ٹائپ ڈیکلریشن بھی جامد سے پہلے ہو، پروگرام فائلیں پھر بھی مرتب نہیں ہوں گی۔

نتیجہ

C زبان میں فنکشن کی تعریف، ایک عالمی فنکشن ہے۔ اس فنکشن کو اس کی فائل میں کسی بھی دائرہ کار میں (دیکھا) کہا جا سکتا ہے۔ اس فنکشن کو ایک مختلف فائل میں دیکھنے کے لیے، جیسے کہ مین فائل، اس کا پروٹو ٹائپ ڈیکلریشن اس مختلف فائل میں ٹائپ کرنا ہوگا۔ اس فنکشن کو مختلف فائل میں نظر آنے سے روکنے کے لیے اس کی تعریف کو اس سے پہلے مخصوص لفظ، static کے ساتھ static بنائیں۔