Կոդի այս հատվածում (char c = 'a'; const char * p1 = & c; char * const p2 = & c;) կա տարբերություն, թե ինչ է անում p1- ը և p2- ը և աստղանիշի գործառույթը (*) երկուսի մեջ: Դեպքեր
պատասխանել 1:
const char * նշանակում է, որ նշված արժեքը չի կարող փոփոխվել:
char * const նշանակում է, որ ցուցիչն ինքնին չի կարող փոխվել:
Երրորդ տարբերակն էլ կա
const char * const Ոչ արժեքը և ոչ ցուցիչը չեն կարող փոխվել:
# ներառել int main (անվավեր) {char a = 'a'; char b = 'b'; const char * p1 =? char * const p2 =? const char * const p3 = & a; printf ("a '% c' \ n", ա); printf ("p1% 08X '% c' \ n", p1, * p1); printf ("p2% 08X '% c' \ n", p2, * p2); printf ("p3% 08X '% c' \ n", p3, * p3); // * p1 = '1'; // Սխալ * p2 = '2'; // * p3 = '3'; // սխալի p1 = & b; // pb = & b; // Սխալ // հատ = & բ; // Error printf ("a '% c' \ n", ա); printf ("p1% 08X '% c' \ n", p1, * p1); printf ("p2% 08X '% c' \ n", p2, * p2); printf ("p3% 08X '% c' \ n", p3, * p3); }
Տեղադրված է 25-12-2019