எழுத்து வரிசை மற்றும் சரம் இடையே வேறுபாடு
உள்ளடக்கம்
சி ++ இரண்டையும் ஆதரிக்கிறது, எழுத்து வரிசை மற்றும் சரம், C ++ இவை இரண்டையும் பயன்படுத்துவதில் கணிசமான நன்மைகளைக் கொண்டுள்ளது. ஆனால், எழுத்துக்குறி வரிசையில் இயங்க இயலாமை வர்க்க சரத்தின் வளர்ச்சியை எழுப்புகிறது. எழுத்துக்குறி வரிசை மற்றும் சரம் இரண்டுமே எழுத்துக்களின் வரிசையைக் கொண்டுள்ளன. ஆனால் எழுத்துக்குறி வரிசைக்கும் சரத்திற்கும் இடையிலான அடிப்படை வேறுபாடு என்னவென்றால், “எழுத்துக்குறி வரிசை” நிலையான ஆபரேட்டர்களுடன் இயக்கப்பட முடியாது, அதேசமயம், “சரம்” பொருள்களை நிலையான ஆபரேட்டர்களுடன் இயக்க முடியும். எழுத்துக்குறி வரிசைக்கும் சரத்திற்கும் இடையிலான பிற வேறுபாடுகளைப் படிப்போம்.
- ஒப்பீட்டு விளக்கப்படம்
- வரையறை
- முக்கிய வேறுபாடுகள்
- முடிவுரை
ஒப்பீட்டு விளக்கப்படம்
ஒப்பீட்டுக்கான அடிப்படை | எழுத்து வரிசை | லேசான கயிறு |
---|---|---|
அடிப்படை | எழுத்து வரிசை என்பது எழுத்து தரவு வகையின் மாறிகள் சேகரிப்பு ஆகும். | சரம் வர்க்கம் மற்றும் சரத்தின் மாறிகள் வர்க்கம் "சரம்" ஆகும். |
தொடரியல் | கரி வரிசை_பெயர்; | சரம் சரம்_பெயர்; |
அட்டவணைப்படுத்தல் | ஒரு எழுத்துக்குறி வரிசையில் உள்ள ஒரு தனிப்பட்ட எழுத்தை அதன் வரிசையில் உள்ள வரிசையில் அணுகலாம். | சரத்தில் குறிப்பிட்ட எழுத்தை "string_name.charAt (index)" செயல்பாட்டால் அணுகலாம். |
தரவு வகை | ஒரு எழுத்துக்குறி தரவுத்தொகுப்பை வரையறுக்காது. | ஒரு சரம் C ++ இல் தரவுத்தொகுப்பை வரையறுக்கிறது. |
ஆபரேட்டர்கள் | சி ++ இல் உள்ள ஆபரேட்டர்களை எழுத்துக்குறி வரிசையில் பயன்படுத்த முடியாது. | நீங்கள் சரத்தில் நிலையான சி ++ ஆபரேட்டரைப் பயன்படுத்தலாம். |
எல்லை | வரிசை எல்லைகள் எளிதில் மீறப்படுகின்றன. | எல்லைகள் மீறாது. |
அணுகல் | வேகமாக அணுகும். | மெதுவாக அணுகும். |
எழுத்து வரிசையின் வரையறை
ஒரு எழுத்து வரிசை என்பது “கரி” டேட்டாடைப்பின் மாறிகளின் தொகுப்பாகும்; இது ஒரு பரிமாண வரிசை அல்லது இரு பரிமாண வரிசையாக இருக்கலாம். இது “பூஜ்ய நிறுத்தப்பட்ட சரம்” என்றும் அழைக்கப்படுகிறது. ஒரு எழுத்து வரிசை என்பது தொடர்ச்சியான நினைவக முகவரிகளில் சேமிக்கப்படும் எழுத்துகளின் வரிசை. எழுத்துக்குறி வரிசையில், ஒரு குறிப்பிட்ட எழுத்தை அதன் குறியீட்டால் அணுக முடியும். ஒரு “பூஜ்ய எழுத்து” எழுத்துக்குறி வரிசையை நிறுத்துகிறது ”.
எழுத்து வரிசைக்கு ஒரு எடுத்துக்காட்டு எடுத்துக்கொள்வோம்: -
கரி பெயர் = {A, j, a, y, 0}; அல்லது கரி பெயர் = "அஜய்";
இங்கே, “கரி” என்பது ஒரு எழுத்து தரவு வகை, “பெயர்” என்பது எழுத்துக்குறி வரிசையின் மாறி பெயர். எழுத்து வரிசையைத் தொடங்க இரண்டு வழிகளைக் காட்டினேன். முதல் முறையில், பூஜ்யம் வெளிப்படையாக குறிப்பிடப்பட்டுள்ளது மற்றும் இரண்டாவது முறையில், தொகுப்பி தானாகவே பூஜ்யத்தை செருகும்.
சரத்தின் முடிவு எப்போதும் பூஜ்ய எழுத்துக்குறி; இது எழுத்துக்குறி வரிசையின் முடிவடையும் தன்மை. எழுத்துக்குறி வரிசை என்பது உள்ளமைக்கப்பட்ட தரவு வகை அல்ல; எழுத்து வரிசையை அறிவிப்பதன் மூலம் அதை உருவாக்குகிறோம். எழுத்துக்குறி வரிசையில் நிலையான ஆபரேட்டர்களை நீங்கள் பயன்படுத்த முடியாது. எழுத்துக்குறி வரிசையில் இயங்க, (strlen (), strlwr (), strupr (), strcat ()) போன்ற சில உள்ளமைக்கப்பட்ட செயல்பாடு உள்ளன. ஒரு எழுத்துக்குறி வரிசையில் நிலையான ஆபரேட்டர்களைப் பயன்படுத்த முடியாது என்பதால், அவர்கள் எந்த வெளிப்பாட்டிலும் பங்கேற்க முடியாது.
எழுத்துக்குறி வரிசைக்கு எழுத்து சுட்டிக்காட்டி உருவாக்கப்படலாம்.
அதை ஒரு எடுத்துக்காட்டுடன் புரிந்துகொள்வோம்.
char s1 = "ஹலோ"; char s2 = "ஐயா"; s1 = s1 + s2; // பிழை ஆபரேட்டர்களைப் பயன்படுத்த முடியாது s2 = s1; // பிழை எழுத்து சுட்டிக்காட்டி கரி * கள் = "காலை"; char * p; ப = ங்கள்; // செயல்படுகிறது
மேலே உள்ள எடுத்துக்காட்டில், நாங்கள் இரண்டு எழுத்துக்குறி வரிசை s1, s2 மற்றும் இரண்டு எழுத்து சுட்டிகள் s மற்றும் p என அறிவித்தோம். எழுத்து வரிசை s1 மற்றும் s2 ஆகியவை துவக்கப்பட்டுள்ளன, கூடுதலாக ஆபரேட்டர் (+) அல்லது அசைன்மென்ட் ஆபரேட்டர் எழுத்துக்குறி வரிசையில் செயல்படவில்லை என்பதைக் காணலாம். ஆனால் ஒரு எழுத்துக்குறி சுட்டிக்காட்டி மற்றொரு எழுத்துக்குறி சுட்டிக்காட்டிக்கு ஒதுக்கப்படலாம்.
எழுத்துக்குறி வரிசை துவக்கப்பட்டவுடன் அதை மற்றொரு எழுத்துக்குறிக்கு மீண்டும் தொடங்க முடியாது என்பதை நினைவில் கொள்க. சி ++ இல் உள்ள சரத்துடன் ஒப்பிடும்போது எழுத்துக்குறி வரிசை அல்லது பூஜ்ய நிறுத்தப்பட்ட சரம் அணுகல் வேகமாக இருக்கும்.
சரம் வரையறை
ஒரு சரம் என்பது C ++ இன் உள்ளமைக்கப்பட்ட தரவு வகை அல்ல. இது “சரம்” வகையின் வர்க்க பொருள். சி ++ இல் ஒரு வகுப்பை உருவாக்குவது என்பது ஒரு “வகையை” உருவாக்குவது போலாகும். வகுப்பு “சரம்” என்பது சி ++ நூலகத்தின் ஒரு பகுதியாகும். இது ஒட்டுமொத்தமாக எழுத்து அல்லது எழுத்து வரிசைகளின் தொகுப்பைக் கொண்டுள்ளது. ஒரு நிலையான சரம் வகுப்பின் வளர்ச்சிக்கு மூன்று காரணங்கள் உள்ளன.
- முதல் என்பது “நிலைத்தன்மை”, எழுத்து வரிசைகள் அவற்றின் சொந்த தரவு வகைகள் அல்ல.
- இரண்டாவது “வசதி” என்பது, நீங்கள் ஒரு எழுத்து வரிசையில் நிலையான ஆபரேட்டர்களைப் பயன்படுத்த முடியாது.
- மூன்றாம் என்பது “பாதுகாப்பு”, வரிசை எல்லைகள் எளிதில் மீறப்படுகின்றன.
ஒரு எடுத்துக்காட்டுடன் சரங்களை புரிந்து கொள்வோம்.
சரம் s1; s1 = "ஹலோ"; சரம் s2 ("குட் மார்னிங்"); சரம் s3 = "ஹென்னரி"; சரம் s4;
மேலே அறிவிப்பில், நான்கு சரம் மாறி அல்லது பொருள்கள் (s1, s2, s3, s4) அறிவிக்கப்படுகின்றன. மேலே அறிவிப்பில், சரத்தை துவக்க மூன்று வழிகளைக் காட்டினேன். சரம் s1 அறிவிக்கப்பட்டு பின்னர் தனித்தனியாக துவக்கப்படுகிறது. "சரம்" வகுப்பின் கட்டமைப்பாளரால் சரம் s2 துவக்கப்படுகிறது. சாதாரண தரவு வகை போலவே அதன் அறிவிப்பின் போது சரம் s3 துவக்கப்படுகிறது. நாம் நிலையான ஆபரேட்டரை சரம் மாறிகள் பயன்படுத்தலாம்.
s4 = s1; // ஒரு சரம் பொருளை மற்றொன்றுக்கு ஒதுக்குதல் s4 = s1 + s2; // இரண்டு சரங்களைச் சேர்த்து, மூன்றாம் சரத்தில் (s3> s2) இருந்தால் முடிவைச் சேமிக்கவும் // இரண்டு சரங்களின் சரங்களை s5 (s1) ஒப்பிடுகையில்; இருக்கும் சரம் பொருளைப் பயன்படுத்தி புதிய சரம் பொருளை உருவாக்குகிறது
மேலே உள்ள குறியீட்டில், பல்வேறு ஆபரேட்டர்கள் ஒரு சரத்தில் பயன்படுத்தப்படுகிறார்கள் மற்றும் பல்வேறு செயல்பாடுகள் செய்யப்படுகின்றன. முதல் அறிக்கை ஒரு சரம் பொருளை மற்றொரு சரம் பொருளுக்கு நகலெடுக்கிறது. இரண்டாவது அறிக்கையில், இரண்டு சரம் ஒன்றிணைக்கப்பட்டு மூன்றாவது சரத்தில் சேமிக்கப்படும். மூன்றாவது அறிக்கையில், இரண்டு சரம் ஒப்பிடப்படுகிறது. நான்காவது அறிக்கையில், ஏற்கனவே இருக்கும் சரம் பொருளைப் பயன்படுத்தி ஒரு புதிய சரம் பொருள் உருவாக்கப்பட்டது.
எழுத்துக்குறி வரிசை அல்லது பூஜ்ய நிறுத்தப்பட்ட சரத்துடன் ஒப்பிடும்போது சரத்திற்கான அணுகல் மெதுவாக உள்ளது.
எழுத்து வரிசை மற்றும் சரம் இடையே முக்கிய வேறுபாடுகள்
- ஒரு எழுத்து வரிசை என்பது எழுத்துக்குறி தரவு வகை கொண்ட மாறிகள் தொகுப்பாகும். சரம் என்பது ஒரு வகுப்பாகும், இது சரங்களை அறிவிக்க உடனடிப்படுத்தப்படுகிறது.
- குறியீட்டு மதிப்பைப் பயன்படுத்தி நீங்கள் ஒரு எழுத்துக்குறி வரிசையிலிருந்து ஒரு எழுத்தை அணுகலாம். மறுபுறம், நீங்கள் ஒரு சரத்தை ஒரு குறிப்பிட்ட எழுத்தை அணுக விரும்பினால், நீங்கள் அதை சரம் சரம்_நெம்.சார்அட் (குறியீட்டு) மூலம் அணுகலாம்.
- ஒரு வரிசை தரவுத்தொகுப்பு அல்ல, இதேபோல் ஒரு பாத்திரமும் தரவுத்தொகுப்பு அல்ல. மறுபுறம், சரம் ஒரு வர்க்கமாக இருப்பது ஒரு குறிப்பு வகையாக இருப்பதால், சரம் ஒரு தரவு வகை என்று கூறலாம்.
- எழுத்துக்குறி வரிசையில் நீங்கள் எந்த ஆபரேட்டரையும் பயன்படுத்த முடியாது, அதேசமயம் நீங்கள் சரம் மீது ஆபரேட்டர்களைப் பயன்படுத்தலாம்.
- ஒரு வரிசை எழுத்துக்குறி ஒரு நிலையான நீளத்தைக் கொண்டிருப்பதால் அதன் எல்லைகளை எளிதில் மீற முடியும். சரத்திற்கு எந்த எல்லைகளும் இல்லை.
- வரிசை கூறுகள் தொடர்ச்சியான நினைவக இடத்தில் சேமிக்கப்படுகின்றன, எனவே அவை சரம் மாறியை விட வேகமாக அணுகலாம்.
முடிவுரை:
எழுத்துக்குறி வரிசையில் செயல்பட இயலாமை நிலையான சரம் வகுப்பின் வளர்ச்சியை உயர்த்தியது.