Saturday 26 October 2013

Character Constant in C


आपण इंटीजर कसा स्टोअर करायचा ते पाहीले. फ्लोट कॉंन्संटंट कसा स्टोअर करायचा ते पाहीले. पहील्या मध्ये डेसीमल पॉइंट नसतो तर दुसऱ्या मध्ये डेसीमल पॉइंट असतो. C language मध्ये असलेल्या Primary Data type पैकी आता गरज आहे ती character कसे स्टोअर करायचे हे माहीत करून घ्यायची. 

प्रथम आपण कॅरेक्टर म्हणजे काय हे पाहीले पाहुया. 

किबोर्ड वरील सर्व Alphabets म्हणजे 

  • lower-case  :  a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z (Small case letters)
  • upper-case :  A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z  (Capital Letters)
  • numeric       :  0|1|2|3|4|5|6|7|8|9
  • special         :  !|%|^|&|*|(|)|-|+|=|{|}|||~|[|]|\|;|'|:|"|<|>|?|,|.|/|#|@|`|_

या सर्वांचा सेट म्हणजे हि सर्व कॅरेक्टर कॉंन्संटंट म्हणता येतील. अर्थात C language मध्ये हि सर्व characters वापरून सुद्धा ४ वर्गात विभागणी करता येइल. जसे की

वरील सर्व कॅरेक्टर्स आहे तशी वापरायची म्हणजेच फक्त एक कॅरेक्टर single quote मध्ये वापरायचे. 
Individual home for every alphabet





















या मध्ये कॅरेक्टर कॉंन्स्टंट ला एक बाइट म्हणजेच 8 bits दिलेले असतात. त्यामुळे त्याची range -128 to +127 इतकी असते. वर दिलेली सर्व कॅरेक्टर्स या format मध्ये represent करता येतात. Computer मध्ये डेटा binary format मध्ये स्टोअर केला जात असल्या मुळे American Standard Code for Information Interchange (ASCII) ने एक standard केले. ज्यामध्ये प्रत्येक कॅरेक्टर ला एक unique value दिली व त्या value ला ASCII value म्हणतात. 
उदा.
  • A ची ASCII value 65, B ची 66, C ची 67....व Z ची ASCII value 90 
  • a  ची ASCII value 97, b ची 98, c ची 99.....व z ची ASCII value 122
  • 0 ची ASCII value 48, 1 ची 49, 2 ची 50......व 9 ची ASCII value 57
 आहेत. शिवाय वर जो special character चा सेट दाखवला आहे त्यांना वरील ASCII values मधील उर्वरीत values म्हणजेच 0 to 47, 58 to 64, 91 to 96 व 123 to 127 दिल्या आहेत. 8 bits मधील sign bit न वापरता अनेक special characters सुद्धा स्टोअर करण्याची व्यवस्था ASCII ने करून दिली व त्याला extended ASCII character set म्हणतात व त्यांच्या साठी 128 to 255 मधील values दिल्या आहेत.        

याचा अर्थच असा की ज्यावेळी तुम्ही 

char ch = 'A'; 

असे स्टेटमेंट लिहाल त्यावेळी memory मध्ये A ची corresponding ASCII value म्हणजेच 65 चा bit pattern store केला जातो. 

या कॅरेक्टर कॉंस्टंटचे नियम म्हणजे:

  1. कॅरेक्टर कॉंस्टंट pair of single quote मध्ये लिहावा लागतो. एका पेक्षा जास्त कॅरेक्टर्स लिहीली तर compile time error मिळते. 
  2.  char हा किवर्ड राखीव ठेवला आहे. 
  3. त्याची range -128 to +127 आहे
 नंतर फार उशीरा म्हणजे १९९० नंतर जगामधील कोणत्याही भाषेमधील कोणतेही कॅरेक्टर स्टोअर करण्याची सुविधा देण्यासाठी Unicode format design केला गेला ज्यासाठी 2 bytes ची व्यवस्था करण्यात आली. त्यामुळे 65535 इतक्या विविध प्रकारची कॅरेक्टर्स स्टोअर करता येतात. अर्थात त्यासाठी प्रोग्रॅम लिहीतांना काही Locale changes करावे लागतात व C language ने wchar_t असा नवीन कॅरेक्टर कॉंस्टंट दिला. हा कॉंस्टंट wide character प्रकारात मोडतो  पण त्याचा फार वापर केला गेला नाही. 

या मध्ये तिसरा प्रकार म्हणजे escape sequence लिहीण्याचा कारण त्यासाठी \ आणी n किंवा n ऐवजी t, a, r, v, \ अशी काही कॅरेक्टर्स वापरली जातात पण हे एकच कॅरेक्टर असते. 

शेवटचा प्रकार म्हणजे स्ट्रींग मध्ये स्ट्रिंग टर्मिनेटींग कॅरेक्टर म्हणून \0 सुद्धा Single character ओळखले जाते.   

इतके वाचून सुद्धा कळाले नसेल तर मग या ठिकाणी व्हिडीओ पहा...!

No comments:

Post a Comment

Do you like the C Marathi e-learning concept?