Header Ads

ad728
  • New Updates

    Scanf( ) Function


    scanf( ) Function

    Computer से जितने Devices Connected होते है , उन सभी Devices की अपनी स्वंय की Memory होती है , जिसे Temporary Buffer कहा जाता है | Keyboard , Monitor , Mouse , Printer आदि सबका अपना Temporary Buffer होता है | हम Keyboard से जब भी किसी Key को Press करते है , तो उस Key की Information Directly Computer की RAM में जा कर Store नहीं होती है , जहां से हमारे Computer का CPU उस Key की information को Computer के RAM में Store करता है |

    ठीक इसी तरह से जब हम हमारे Computer के Monitor पर किसी Message को Print करना चाहते है , तो वास्तव में हम Message को Print करने के लिए Computer के Monitor को नहीं भेज रहे होते है , बल्कि हम उस Printable को Computer के Graphics Buffer में भेज रहे होते है , जहां से हमारा Monitor Printable Message की Information को प्राप्त करके Monitor पर Display कर देता है |

    जब हम printf( ) Function को use करके किसी Message को Monitor पर Display करना चाहते है , तब हम उस Message या  Data को Printf( ) Function में एक String Argument के रूप में भेज देते है | printf( ) function उस String Message को Computer की Memory से प्राप्त करके Monitor के Graphics Buffer में Store कर देता है और इस Graphics Buffer में Stored Data को हमारा Monitor अपने Screen पर Display कर देता है |

    इसी तरह से जब हम Keyboard से किसी Input  को प्राप्त करना चाहते है , scanf( ) Function keyboard पर Press की गई keys की Information को keyboard के Buffer से प्राप्त करता है और उन keys की Information को scanf( ) Function में Specify किया गए  Varibale Identifier की Storage Location पर Store कर देता है |

    दूसरे शब्दों में कहें तो जब हम Memory में Stored किसी Data को Monitor पर Display करना चाहते है , तब prinf( ) Function में विभन्न Identifiers को Specify करके हम हमारे computer को ये बताते है की हमें Memory की किस Location पर Stored Data को Screen पर Display करना है और विभन्न प्रकार के Control Strings का प्रयोग करके हम हमारे Computer को ये बताते है की विभन्न Identifiers द्वारा Specify किए जा रहे Data को Monitor के Screen को किस Location पर Format में Display करना है |

    इसी तरह से जब हम Keyboard से किसी Data को Input के रूप में प्राप्त करके किसी Memory Location पर Store करना चाहते है , तब जिस Data Type के Data को Keyboard से Receive करना चाहते है , उस Data Type के Control String को scanf( ) Function में specify करते है और Keyboard से आने वाले Data को Memory के जिस Storage Location पर Store करना चाहते है , scanf( ) function में उस Storage Location के Variable Identifier का नाम address Operator ( & ) के साथ Specify करते है |

    जिस तरह printf( ) Function के साथ हम विभन्न प्रकार के Control Strings का प्रयोग करके विभन्न प्रकार के Identifiers के मानों को Output में Print करते है , उसी तरह से विभन्न प्रकार के Data Type के मानों को Keyboard Buffer से प्राप्त करके विभन्न प्रकार के Identifiers में Store करने के लिए भी हम विभन्न प्रकार के control Strings का प्रयोग कर सकते है | printf( ) Function के साथ जो Control String जिस Data Type से Related होता है scanf( ) Function में भी वह Control String उसे Data Type को Associated होता है | scanf( ) Function के साथ use किए जा सकने वाले Control Strings निम्नानुसार है |

    %d  Keyboard से Integer Data Type के मान को प्राप्त करने के लिए |

    %c  Keyboard से Character Data Type के मान को प्राप्त करने के लिए |

    %f  Keyboard से Floating Point Real Data Type के मान को प्राप्त करने के लिए |

    %g  Keyboard से Floating Point Real Data Type के मान को प्राप्त करने के लिए |

    %e  Keyboard से Floating Point Real Data Type के मान को प्राप्त करने के लिए |

    %i  keyboard से Signed Decimal Integer Data Type के मान को प्राप्त करने के लिए |

    %u  Keyboard से Unsigned Decimal Integer Data Type के मान को प्राप्त करते के लिए |

    %o  keyboard से Octal Integer Data Type के मान को प्राप्त करने के लिए |

    %s  Keyboard से String को प्राप्त करने के लिए |

    %x  Keyboard से Hexadecimal Data Type के मान को प्राप्त करने के लिए |

    %[…]  Keyboard से String को प्राप्त करने के लिए |

    scanf( ) Function printf( ) Function की तुलना में एक अधिक Control String को Support करता है | scanf( ) Function का syntax निम्नानुसार है :

     


    इस Syntax में CntrlStr ये तय करती है की Keyboard से किसी Data Type का Data scanf( ) Function Receive करेगा , जबकि Identifier उस Memory Location को Represent करता है , जहां पर Keyboard से आने वाले Data को Store करना है | इस Function में भी Control Strings जिस क्रम में Specify किए जाते है , उसी क्रम में आने वाले Data भी Memory में Store होते है |

    उदाहरण के लिए CntrlStr1 Identifier1 से , CntrlStr2 Identifier2 से व CntrlStrN IdentifierN से Associated है , इसलिए Keyboard से आने वाला CntrlStr1 Type का सबसे पहला मान Identifier1 की Storage Location पर  Store होगा , दूसरे Number पर आने वाले CntrlStr2 Type का मान Identifier2 के Memory Location पर Store होगा और सबसे बाद में आने वाला CntrlStrN Type का मान IdentifierN नाम के Identifier द्वारा Represent होने वाला Memory Location पर Store होगा |

    & Operator को Address Operator कहा जाता है | ये एक Unary Operator है | ये  Operator हमेशा उस Identifier के Memory Location का Address Return करता है , जिसके साथ इसे Use किया जाता है |

    जब हम Program के Run Time के Keyboard से किसी Data को Receive करके उस पर Processing करना चाहते है , तब scanf( ) Function द्वारा computer को हमें दो बाते बताने पडती है पहली ये की हम Keyboard से किसी प्रकार के Data को Read करना कहते है | Keyboard से Read किए जाने वाले Data के Data Type को Specify करने के लिए उपयुक्त Control String का प्रयोग किया जाता है |

    Computer को दूसरी बात ये बतानी होती है , की Keyboard से आने वाले Data  Memory की किसी Location पर Store होगा | यानी दूसरी बात के रूप में हमें Computer  को उस Memory Location का Address बताना होता है , जहां पर हम Keyboard से आने वाले Data को Store करना चाहते है |

    जैसाकि हमने पहले भी कहा की & Operator किसी भी Identifier का Address Return करने का काम करता है , इसलिए हमें जिस Identifier की Memory Location पर Keyboard से आने वाले Data को Store करना होता है , उस Identifier के नाम के पहले हम & Operator का प्रयोग उस Identifier को scanf( ) Function से specify कर देते है |

    चूंकि scanf( ) Function का प्रयोग Keyboard से Input प्राप्त करने के लिए किया जाता है , इसलिए इस Function का प्रयोग करने से पहले हमें उस Data Type का एक Variable Identifier Create करना जरुरी होता है , जिसमे scanf( ) Function द्वारा Keyboard से आने वाले Data को Store करना चाहते है |

    बिना Variable Create किए हुए हम scanf( ) Function का प्रयोग नहीं कर सकते है, क्योंकि इस Function में हमें उस Identifier का नाम Address Operator के साथ Specify करना पड़ता है जिसकी Memory Location पर हम keyboard से आने वाले मान को store करना चाहते है | यदि हम बिना Variable Create किए scanf( ) Function को use करते है , तो “C” का Compiler compile Time Error Generate करके हमें ऐसा करने से रोक देता है |


    No comments

    Post Top Ad

    ad728

    Post Bottom Ad

    ad728