Type Declaration Instruction


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