ఈ కథనంలో, C లో స్ట్రింగ్లు ఏవి, అవి ఎలా ప్రకటించబడతాయి మరియు C ప్రోగ్రామింగ్లో వాటిని ఎలా అమలు చేయాలో వివరిస్తాము.
సి ప్రోగ్రామింగ్లో స్ట్రింగ్స్ అంటే ఏమిటి?
స్ట్రింగ్లు అనేవి ఒక డైమెన్షనల్ శ్రేణులు శూన్య \0 పాత్ర. అవి అక్షరాలు మరియు వచనాలను నిల్వ చేయడానికి ఉపయోగించబడతాయి మరియు స్ట్రింగ్లోని ప్రతి అక్షరం మెమరీలో ఒక బైట్ను ఆక్రమిస్తుంది. ఇతర ప్రోగ్రామింగ్ లాంగ్వేజ్ల మాదిరిగా కాకుండా, C డేటా టైప్ పేరు స్ట్రింగ్గా లేదు, దీనికి బదులుగా, మీరు డేటాను చార్ రకం.
సి ప్రోగ్రామింగ్లో స్ట్రింగ్లను ఎలా డిక్లేర్ చేయాలి?
C ప్రోగ్రామింగ్లో, మీరు క్రింది పద్ధతులను ఉపయోగించి స్ట్రింగ్ను ప్రకటించవచ్చు:
మీరు ముందే నిర్వచించిన పరిమాణంతో స్ట్రింగ్ను కేటాయించవచ్చు. ఉదాహరణకు, 8 అక్షరాల పరిమితి పరిమాణంతో స్ట్రింగ్ ఇలా ప్రకటించబడాలి:
చార్ పరీక్ష [ 8 ] = 'స్వాగతం' ;
శ్రేణి యొక్క పరిమాణాన్ని నిర్వచించకుండా C లో స్ట్రింగ్ను కేటాయించే మరొక పద్ధతి:
చార్ పరీక్ష [ ] = 'స్వాగతం' ;
మీరు నిర్వచించిన పరిమాణంతో అక్షర శ్రేణిని ఉపయోగించి స్ట్రింగ్ను కూడా కేటాయించవచ్చు:
చార్ పరీక్ష [ 8 ] = { 'IN' , 'అది' , 'l' , 'c' , 'ఓ' , 'm' , 'అది' , ' \0 ' } ;లేదా మీరు నిర్వచించిన పరిమాణం లేకుండా అక్షరం వారీగా ప్రారంభించడం ద్వారా అక్షర శ్రేణికి స్ట్రింగ్ను కేటాయించవచ్చు:
చార్ పరీక్ష [ ] = { 'IN' , 'అది' , 'l' , 'c' , 'ఓ' , 'm' , 'అది' , ' \0 ' } ;
ది శూన్య అక్షరం “\0” స్ట్రింగ్ ముగింపును సూచిస్తుంది. స్ట్రింగ్ ఎక్కడ ముగుస్తుందో నిర్ణయించడానికి, ప్రతి చివర శూన్య అక్షరాన్ని జోడించడం ముఖ్యం.
పై స్ట్రింగ్ యొక్క మెమరీ ప్రాతినిధ్యం క్రింది విధంగా ఉంటుంది:
సూచిక | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
వేరియబుల్ | IN | అది | ఎల్ | సి | ఓ | m | అది | \0 |
Cలో, స్ట్రింగ్ ఎక్కడ ముగుస్తుందో నిర్ణయించడానికి శూన్య అక్షరం ఉపయోగించబడుతుంది. శూన్య అక్షరం లేనట్లయితే, ఈ ఫంక్షన్లు స్ట్రింగ్ ముగింపుకు మించి మెమరీని ప్రాసెస్ చేయడం కొనసాగిస్తాయి, ఇది కోడ్ యొక్క ఊహించని ప్రవర్తనకు దారితీయవచ్చు.
కిందిది స్ట్రింగ్ను ప్రింట్ చేయడానికి పూర్తి C ప్రోగ్రామింగ్ కోడ్.
#int ప్రధాన ( ) {
చార్ పరీక్ష [ 8 ] = { 'IN' , 'అది' , 'l' , 'c' , 'ఓ' , 'm' , 'అది' , ' \0 ' } ;
printf ( 'అవుట్పుట్: %s \n ' , పరీక్ష ) ;
తిరిగి 0 ;
}
పై ప్రోగ్రామ్ 8 పరిమాణంతో అక్షర శ్రేణి పరీక్షను ప్రకటించింది మరియు దానిని అక్షరాలతో ప్రారంభిస్తుంది 'W', 'e', 'l', 'c', 'o', 'm', 'e' , మరియు '\0' . ఇది అప్పుడు ఉపయోగిస్తుంది printf() పరీక్షలో నిల్వ చేయబడిన స్ట్రింగ్ను ప్రింట్ అవుట్ చేయడానికి ఫంక్షన్.
అవుట్పుట్
C ప్రోగ్రామింగ్లో వినియోగదారు నుండి స్ట్రింగ్ ఇన్పుట్ తీసుకోండి
మీరు దీన్ని ఉపయోగించి వినియోగదారు నుండి ఇన్పుట్ స్ట్రింగ్ను కూడా తీసుకోవచ్చు scanf() ఫంక్షన్ మరియు దాని కోసం, మీరు తప్పనిసరిగా స్ట్రింగ్ అర్రే పరిమాణాన్ని నిర్వచించాలి. వినియోగదారు నుండి ఇన్పుట్ తీసుకోవడానికి క్రింది కోడ్ ఉదాహరణ:
#int ప్రధాన ( )
{
చార్ పేరు [ 10 ] ;
printf ( 'పేరు నమోదు చేయండి:' ) ;
స్కాన్ఎఫ్ ( '%s' , పేరు ) ;
printf ( 'నమోదు చేయబడిన పేరు: %s.' , పేరు ) ;
తిరిగి 0 ;
}
పై ప్రోగ్రామ్ వినియోగదారుని పేరును నమోదు చేయమని ప్రాంప్ట్ చేస్తుంది, స్కాన్ఎఫ్() ఫంక్షన్ని ఉపయోగించి వినియోగదారు నుండి దానిని చదివి, అక్షర శ్రేణి పేరులో నిల్వ చేస్తుంది. ఇది ఎంటర్ చేసిన పేరును ప్రింట్ చేయడానికి printf() ఫంక్షన్ని ఉపయోగిస్తుంది.
అవుట్పుట్
సి ప్రోగ్రామింగ్లో స్ట్రింగ్ లేదా లైన్ ఆఫ్ టెక్స్ట్ చదవండి
మీరు ఉపయోగించవచ్చు fgets() పేర్కొన్న ఇన్పుట్ స్ట్రీమ్ నుండి టెక్స్ట్ యొక్క పంక్తిని చదవడానికి మరియు దానిని అక్షర శ్రేణిలో నిల్వ చేయడానికి తీగలను చదవడానికి ఫంక్షన్. దిగువ వ్రాసిన కోడ్ అటువంటి సందర్భానికి ఉదాహరణ:
#int ప్రధాన ( ) {
చార్ లైన్ [ యాభై ] ;
printf ( 'వచన పంక్తిని నమోదు చేయండి:' ) ;
fgets ( లైన్ , పరిమాణం ( లైన్ ) , stdin ) ;
printf ( 'మీరు నమోదు చేసారు: %s' , లైన్ ) ;
తిరిగి 0 ;
}
పై సి ప్రోగ్రామ్ని ఉపయోగిస్తుంది fgets() ప్రామాణిక ఇన్పుట్ నుండి వినియోగదారు నమోదు చేసిన వచన పంక్తిని చదవడానికి మరియు దానిని లైన్ అనే అక్షర శ్రేణిలో నిల్వ చేయడానికి ఫంక్షన్. అప్పుడు, ఇది printf() ఫంక్షన్ని ఉపయోగించి ఎంటర్ చేసిన టెక్స్ట్ లైన్ను ప్రింట్ చేస్తుంది.
అవుట్పుట్
సాధారణంగా ఉపయోగించే స్ట్రింగ్ విధులు
C ప్రోగ్రామింగ్లోని స్ట్రింగ్లు వివిధ చర్యలను నిర్వహించడానికి ప్రోగ్రామ్లలో ఉపయోగించే వివిధ ఫంక్షన్లకు మద్దతు ఇస్తాయి. C లోని స్ట్రింగ్ ద్వారా సపోర్ట్ చేసే కొన్ని ఫంక్షన్లు క్రింద పేర్కొనబడ్డాయి:
ఫంక్షన్ పేరు | ఫంక్షన్ యొక్క ఉద్దేశ్యం |
strcat(a1,a2); | స్ట్రింగ్ a2 యొక్క కంటెంట్లను స్ట్రింగ్ a1 చివరకి జోడిస్తుంది. ఆపరేషన్ తర్వాత, ఫలితంగా స్ట్రింగ్ a1లో నిల్వ చేయబడుతుంది. |
strcpy(a1,a2); | ఈ ఫంక్షన్ స్ట్రింగ్ a2 యొక్క కంటెంట్లను స్ట్రింగ్ a1కి కాపీ చేస్తుంది. ఆపరేషన్ తర్వాత, a1 రద్దు చేసే శూన్య అక్షరంతో సహా a2 యొక్క ఖచ్చితమైన కాపీని కలిగి ఉంటుంది. |
strlen (a1); | స్ట్రింగ్ a1 యొక్క పొడవును అందిస్తుంది, అనగా, చివరిగా ముగించే లేదా శూన్య అక్షరానికి ముందు స్ట్రింగ్లో ఉన్న మొత్తం అక్షరాల సంఖ్య. |
strchr(a1,ch1); | ఈ ఫంక్షన్ పాయింటర్ను స్ట్రింగ్ a1లో ch1 అక్షరం యొక్క మొదటి సంభవానికి తరలిస్తుంది. స్ట్రింగ్ a1లో ch1 కనుగొనబడకపోతే ఈ ఫంక్షన్ శూన్య పాయింటర్ను అందిస్తుంది. |
గమనిక: C అనే ప్రామాణిక లైబ్రరీని అందిస్తుంది
ముగింపు
స్ట్రింగ్ అనేది C ప్రోగ్రామ్లలోని లీనియర్ సీక్వెన్స్ యొక్క సేకరణ. ప్రతి అక్షరం ఒక బైట్ను నిల్వ చేస్తుంది మరియు డబుల్ కోట్ మార్కులతో సూచించబడుతుంది. సి ప్రామాణిక లైబ్రరీని అందిస్తుంది