సి నేర్చుకునేటప్పుడు, మీరు ‘పాయింటర్స్’ అనే పదాన్ని చూడవచ్చు మరియు ఇది అర్థం చేసుకోవడం కష్టతరమైన భావన అని తరచుగా విన్నారు. పాయింటర్లు వివిధ ప్రోగ్రామింగ్ పనులలో సహాయపడతాయి మరియు అర్థం చేసుకోవడం అంత కష్టం కాదు. ఈ ఆర్టికల్ మిమ్మల్ని సి లోని పాయింటర్లకు పరిచయం చేస్తుంది మరియు అవి కనిపించే విధంగా నేర్చుకోవడం ఎందుకు అంత కష్టం కాదని మీకు తెలియజేస్తుంది.
ఈ వ్యాసంలో పొందుపరిచిన గమనికలు క్రిందివి,
- పాయింటర్ అంటే ఏమిటి?
- రిఫరెన్స్ మరియు డి-రిఫరెన్స్ ఆపరేటర్లు
- పాయింటర్ల రకాలు
- పాయింటర్ ఎలా ఉపయోగించాలి
సి వ్యాసంలోని ఈ పాయింటర్ యొక్క మొదటి బిట్తో ప్రారంభిద్దాం,
సి లో పాయింటర్లు
పాయింటర్ అంటే ఏమిటి?
పాయింటర్ అనేది వేరియబుల్, ఇది వేరియబుల్ యొక్క చిరునామాను నిల్వ చేయగలదు. ఇప్పుడు, దాని ఉపయోగం ఏమిటి అని మీరు అడగవచ్చు. సాధారణంగా, పాయింటర్ చిరునామా అందించబడిన వేరియబుల్ యొక్క మెమరీ స్థానాన్ని సూచిస్తుంది. ఈ ఆస్తి డైనమిక్ మెమరీ కేటాయింపులో సహాయపడుతుంది, ఇది ప్రోగ్రామింగ్ యొక్క ముఖ్యమైన అంశం.
ఇది వాక్యనిర్మాణం అని అర్థం చేసుకుందాం మరియు ఒక ఉదాహరణను చూద్దాం
డేటా_టైప్ * పాయింటర్_పేరు
ఉదాహరణ: int * ptr
సి వ్యాసంలోని ఈ పాయింటర్లలో తదుపరి బిట్ క్రింది ఉంది
రిఫరెన్స్ మరియు డి-రిఫరెన్స్ ఆపరేటర్లు
పాయింటర్ అనే భావనను లోతుగా డైవ్ చేయడానికి ముందు, తరువాత మాకు సహాయపడే కొన్ని ప్రాథమికాలను అర్థం చేసుకుందాం. పాయింటర్లను ఉపయోగిస్తున్నప్పుడు మీరు ఖచ్చితంగా ‘&’ మరియు ‘*’ ఆపరేటర్లను ఉపయోగిస్తారు. ఇప్పుడు వాటి అర్థం మరియు ఉపయోగం అర్థం చేసుకోవలసిన సమయం వచ్చింది.
మొదట, రిఫరెన్స్ ఆపరేటర్ను తరచుగా ‘అడ్రస్ ఆఫ్’ ఆపరేటర్ అని పిలుస్తారు. వేరియబుల్తో (ఆంపర్సండ్) ఆపరేటర్ను ఉపయోగించడం వల్ల ఇచ్చిన వేరియబుల్ యొక్క చిరునామా అని కూడా పిలువబడే మెమరీ స్థానాన్ని అందిస్తుంది.
జావాలో మార్పులేని వస్తువు ఏమిటి
ఉదాహరణ
int * ptr int a ptr = & a
వేరియబుల్ ‘a’ యొక్క చిరునామా వేరియబుల్ ptr లో నిల్వ చేయబడుతుంది.
ఇప్పుడు, ఆస్టరిస్క్ (*) ద్వారా సూచించబడే డి-రిఫరెన్సింగ్ లేదా ‘వాల్యూ ఎట్’ ఆపరేటర్ను అర్థం చేసుకుందాం. ఇది పాయింటర్ వేరియబుల్లో నిల్వ చేయబడిన మెమరీ స్థానం నుండి విలువను తిరిగి పొందడంలో సహాయపడుతుంది
ఉదాహరణ
int * ptr int a * ptr = & printf ('a =% dn విలువ', * ptr)
పాయింటర్ రకాలు పాయింటర్ను ప్రకటించేటప్పుడు ఉపయోగించిన * డి-రిఫరెన్సింగ్ ప్రయోజనం కోసం కాదు, ఇచ్చిన వేరియబుల్ పాయింటర్ అని కంపైలర్కు చెబుతుంది.పై ప్రింట్ స్టేట్మెంట్ మెమరీ లొకేషన్లో ఉన్న విలువను ప్రింట్ చేస్తుంది మరియు ఈ మెమరీ స్థానం పాయింటర్ ద్వారా సూచించబడుతుంది. అనగా వేరియబుల్ ‘a’ విలువ.
అనేక రకాల పాయింటర్లు ఉన్నాయి, అవి ప్రోగ్రామ్లో ఉపయోగించే విధానం ఆధారంగా విభిన్నంగా ఉంటాయి.మేము సాధారణంగా ఉపయోగించే కొన్ని రకాలను పరిశీలిస్తాము.
శూన్య పాయింటర్
ఏ చిరునామా కేటాయించాలో మీకు తెలియకపోతే శూన్య విలువ పాయింటర్కు కేటాయించబడుతుంది. డిక్లరేషన్ సమయంలో ఒక పాయింటర్కు ‘NULL’ విలువను కేటాయించడం ద్వారా దీన్ని చేయవచ్చు. ఈ పాయింటర్ విలువ 0.
జావా ఉదాహరణలో మార్చగల తరగతి
int * ptr = NULL
వైల్డ్ పాయింటర్
పాయింటర్ వేరియబుల్కు ఏ విలువను కేటాయించకుండా వైల్డ్ పాయింటర్ సృష్టించబడుతుంది. ఇది unexpected హించని ఫలితాలకు దారితీయవచ్చు కాబట్టి దీనిని జాగ్రత్తగా వాడాలి.
డాంగ్లింగ్ పాయింటర్
ఒక పాయింటర్ తొలగించబడిన వేరియబుల్ లేదా డి-కేటాయించిన మెమరీని సూచించినప్పుడు, పాయింటర్ను డాంగ్లింగ్ పాయింటర్ అంటారు.ఈ పాయింటర్ లేని మెమరీ ప్రదేశంలో సూచిస్తుంది. సి వ్యాసంలోని ఈ పాయింటర్ల యొక్క తదుపరి బిట్ను పరిశీలిద్దాం
పాయింటర్ ఎలా ఉపయోగించాలి
ఇప్పుడు మాకు రిఫరెన్స్ మరియు డీరెఫరెన్స్ ఆపరేటర్ల గురించి క్లుప్త అవగాహన ఉంది. ఈ విభాగంలో, పాయింటర్లను ఎలా ఉపయోగించాలో మేము అర్థం చేసుకుంటాము. పాయింటర్ను ఎలా ప్రకటించాలో మరియు కొన్ని ప్రాథమిక కార్యకలాపాలకు ఎలా ఉపయోగించాలో ఇప్పటి వరకు నేర్చుకున్నాము. ఈ సమయంలో, అంకగణిత ఆపరేషన్లు చేయడం ద్వారా నిజంగా అద్భుతమైన ప్రోగ్రామింగ్ పనుల కోసం పాయింటర్లను ఉపయోగించడానికి మాకు తగినంత జ్ఞానం ఉంది.
సాధారణంగా, ఈ కార్యకలాపాలు శ్రేణులపై నిర్వహించబడతాయి. 2 చిరునామాలకు తీసివేయడం వల్ల 2 మెమరీ స్థానాల మధ్య దూరం లభిస్తుంది.
int main () {int First_array [10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} / * మేము కార్యకలాపాలు చేసే మా శ్రేణి * / int * ptr / * పాయింటర్ * / ptr = First_array / * శ్రేణి యొక్క చిరునామాను పాయింటర్ వేరియబుల్కు కేటాయించండి * / for (int i = 0 i<10 i++) /*Performing operations*/ { printf('Value of *ptr variable = %dn', *ptr) printf('Value of ptr variable = %pnn', ptr) ptr++ } }
అవుట్పుట్
మీరే కోడ్ను అమలు చేయడానికి ప్రయత్నించండి మరియు విభిన్న అంకగణిత ఆపరేషన్లు చేయండి.తీగలతో పాయింటర్లను ఉపయోగిద్దాం.
#include #inc int main () {char str [] = 'హలో వరల్డ్' / * శ్రేణిని సృష్టిస్తోంది * / char * p / * పాయింటర్ * / p = str printf ('మా స్ట్రింగ్లోని అన్ని అక్షరాలను ముద్రించడం') p = str for (int i = 0i
దీనితో మనం ‘బ్లాగ్స్ ఇన్ సి’ లో ఈ బ్లాగ్ చివరికి వస్తాము. మీరు ఈ సమాచార మరియు సహాయకారిని కనుగొన్నారని నేను నమ్ముతున్నాను, ఇలాంటి అంశాలపై మరిన్ని ట్యుటోరియల్స్ కోసం వేచి ఉండండి.మీరు మా శిక్షణా కార్యక్రమాన్ని కూడా తనిఖీ చేయవచ్చుj క్వెరీపై దాని వివిధ అనువర్తనాలతో పాటు లోతైన జ్ఞానాన్ని పొందండి, మీరు చేయవచ్చు 24/7 మద్దతు మరియు జీవితకాల ప్రాప్యతతో ప్రత్యక్ష ఆన్లైన్ శిక్షణ కోసం.పై కోడ్ను వేర్వేరు తీగలతో మరియు మార్పులతో అమలు చేయండి. ఇప్పుడు, పాయింటర్కు సంబంధించిన అన్ని ముఖ్య అంశాలపై మాకు మంచి అవగాహన ఉంది.మాకు ప్రశ్న ఉందా? ఈ బ్లాగ్ యొక్క వ్యాఖ్యల విభాగంలో వాటిని పేర్కొనండి మరియు మేము మిమ్మల్ని సంప్రదిస్తాము.