Int * a మధ్య తేడా ఏమిటి; మరియు పూర్ ** a; సి లో?


సమాధానం 1:

మనం తీసుకుంటాం అనుకుందాం

int i;

int * a;

int ** b;

ఇప్పుడు ఒక పాయింటర్ i యొక్క చిరునామాను నిల్వ చేస్తుంది, ఇది ఒక రకానికి చెందిన చిరునామాను సూచించినందున దానిని పాయింటర్ అంటారు….

int * a పూర్ణాంక వేరియబుల్ కనుక i యొక్క చిరునామాను నిల్వ చేయవచ్చు.

ఇప్పుడు పూర్ణాంకానికి చూడండి ** b ఇది ఒక పాయింటర్‌కు పాయింటర్ అని మీరు చూడవచ్చు int * (* b) అంటే ఇది ఒక పాయింటర్, ఇది పూర్ణాంక రకం యొక్క మరొక పాయింటర్‌కు సూచించబడుతుంది….

మీన్స్ b యొక్క చిరునామాను నిల్వ చేస్తుంది.

కాబట్టి మనం మూడు వేరియబుల్స్కు విలువలను కేటాయించవచ్చు:

i = 5;

ఒక = & i;

బి = & ఒక;

ముఖ్యమైన:

మీరు ప్రింట్ చేస్తే i: 5 (విలువ) ముద్రించబడుతుంది.

మీరు ప్రింట్ చేస్తే: నేను చిరునామా ముద్రించబడుతుంది.

మీరు ప్రింట్ చేస్తే * a: 5 (విలువ) ముద్రించబడుతుంది.

మీరు ప్రింట్ చేస్తే b: a యొక్క చిరునామా ముద్రించబడుతుంది

మీరు ప్రింట్ చేస్తే * b: i యొక్క చిరునామా ముద్రించబడుతుంది

మీరు ప్రింట్ చేస్తే ** b: 5 (విలువ) ముద్రించబడుతుంది.


సమాధానం 2:

హాయ్, రేఖాచిత్రం మరియు కోడ్ క్రింద చూడండి, మీరు మీ సమాధానం పొందుతారు. వాస్తవానికి ఇది పాయింటర్-టు-పాయింటర్ (డబుల్ పాయింటర్) భావనలు

వేరియబుల్ సంఖ్య యొక్క చిరునామా: 1000

పాయింటర్ ptr1 యొక్క చిరునామా: 2000

పాయింటర్ ptr2 యొక్క చిరునామా: 3000

// ———————- కోడ్ ——————— //

# చేర్చండి

పూర్ణాంకానికి ప్రధాన ()

{

పూర్ణాంకం సంఖ్య = 10;

int * ptr1;

int ** ptr2;

ptr1 = & num;

ptr2 = & ptr1;

printf ("సంఖ్య యొక్క విలువ =% d \ n", సంఖ్య);

printf ("* ptr1 =% d \ n వద్ద లభించే విలువ", * ptr1);

printf ("విలువ ** ptr2 =% d \ n వద్ద లభిస్తుంది", ** ptr2);

}

అవుట్పుట్:

సంఖ్య యొక్క విలువ = 10

* Ptr1 = 10 వద్ద విలువ అందుబాటులో ఉంది

విలువ ** ptr2 = 10 వద్ద లభిస్తుంది