Type Declaration Instruction
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtrrbUq2ytena3PEBa-31C_kmg3gCboEos8Efu15_PNS2flIHVEhlwEJYTWrsstWrFIshsIleLSHnQqmjqFAq_Y6MEf9buxVbrx-PyVMCFjLED6IEoPkTEDt_fWU1Ie1yYuCAge0uuFrc/w640-h480/Type+Declaration+Instruction.jpg)
Type Declaration
Instruction
ये वे Instructions
होते है जिनका प्रयोग करके हम विभन्न प्रकार के Data को Computer की Memory में Store
करने के लिए Memory
Reserve करते हैं | हम
जिस किसी भी Data को Program में
Process करना चाहते हैं , उस Data को Store
करने के लिए हमें Memory की जरुरत होती है ,
जहां उन Process किए जाने वाले Data को
Hold करके रखना होता है |
Required Data के आधार पर हमें Memory में कुछ जगह Reserve करने के लिए जिन Instructions का प्रयोग करना होता
है , उन्हें Type Declaration Instructions कहते है |
इन
Instructions
का प्रयोग करके हम विभन्न प्रकार के Variable Declare करते है |
एक “C”
Program में हम कई तरह से Variables Create कर
सकते है | Variable Declare करते समय ही हम उन Variable को Data
Initialize कर सकते है |
जैसे
int i=19 , j=23 * 3
/2-1;
जब हम किसी Variable
को Create करते समय ही उसमें कोई एक निश्चित
मान Initialize कर
देते है , तो इस प्रक्रिया को Implicit Initialization कहते हैं | उदाहरण
के लिए उपरोक्त Instruction में variable
i को Declare करते समय ही उसमें मान 19 को Initialize कर दिया गया है , जो कि Implicit Initialization का
उदाहरण है |
जब हम किसी Variable
को Declare करते समय उसमें किसी प्रकार की Calculation
से Generate हो रहा है , इसलिए ये एक Explicit
या Dynamic Initialization का उदाहरण है |
हम किसी Variable
को Create करने के बाद कोई दूसरा Variable
Create करते है , तो उस दूसरे Variable में
पहले Variable के मान को भी Initialize कर सकते है | जैसे
:
int i =19 , j=i;
इस Statement
में हमने जो मान Variable i में Store किया है , वही मान हमने Variable j में भी Store
किया है | लेकिन
यदि हम इस Declaration के क्रम को निम्नानुसार Change
कर दे :
int j = i , I = 19
तो Compiler
हमें निम्नानुसार Error प्रदान करता है :
Error : Undefined
Symbol ‘i’
Error : Multiple
declaration for ‘I’
ऐसा इसलिए होता
है , क्योंकि “C” का Compiler हर
Instruction को Up to Down व Left
to Right Execute करता है |
इस Instruction
के आधार पर Compiler जब Variable j के मान से Variable I का मान initialize करने के लिए variable i की Memory Location को खोजता है , तो उसे ऐसा कोई Memory Location प्राप्त
नहीं होता है , जिसका नाम i है क्योंकि Compiler ने अभी तक Variable i के लिए Memory में किसी Location को Reserve ही नहीं किया है और Compiler जब किसी ऐसे Variable की Memory खोजता है , जिसे उसने किसी Memory Block के साथ Associate
करके Define ही नहीं किया है , तो वह “Undefined
Symbol “ का Error Message Generate करता है |
Compiler हमें
दूसरी Error इसलिए Display करता है ,
क्योंकि Compiler जिस Variable i को
पहले Memory में खोज चूका होता है ,उसी नाम का Variable
हम बाद में Define करने की कोशिश करते है |
इस
स्थिति में पहले Instruction के लिए तो Compiler
ये समझता है , कि हमने Variable i को Define
नहीं किया है जबकि दूसरे Instruction के लिए Compiler ये सोंचता है कि हम एक ही नाम के
एक से ज्यादा Variables Define करने की कोशिश कर रहे है |
इस तरह से एक Misplaced
Instruction एक से ज्यादा प्रकार की Errors को
Generate कर रहे है |
जब
किसी Program
में कोई एक गलत Instruction एक से ज्यादा
प्रकार की Errors को Generate करने में
सक्षम होता है , तो इस प्रकार के Error Instruction को “Error
Generator Source Instruction “ कहा जाता है |
कई बार हमें ऐसे
जरुरत पड़ती है कि एक ही मान को एक से ज्यादा Variables में Assign या Initialize करना होता है |
इस
प्रकार की जरुरत को हम निम्नानुसार पूरा कर सकते है :
int x,y,z
x = y = z = 100;
लेकिन यदि इन
दोनों Instructions
को हम एक Instruction के रूप में
निम्नानुसार Use करें
int x = y = z =100;
वो ये एक गलत Instruction
होगा और हमें फिर से “Undefined Symbol” की Error प्राप्त होगी |
क्योंकि
यहां फिर से हम उस Variable y का मान x
में Initialize करने की कोशिश कर रहे है जिसे अभी तब Memory Allot नहीं किया गया है |
No comments