Adresas operatoriui ir C
The Adresas operatoriui C yra specialus unarinis operatorius, kuris grąžina kintamojo adresą. Jis žymimas kaip Ampersando simbolis ( ir ) . Šis operatorius grąžina sveikojo skaičiaus reikšmę, kuri yra jo operando adresą atmintyje. Adreso operatorių (&) galime naudoti su bet kokiais kintamaisiais, masyvais, eilutėmis, funkcijomis ir net rodyklėmis.
Sintaksė
Adreso operatorius paprastai naudojamas kaip operando priešdėlis:
& operand
kur operandas gali būti kintamasis, masyvas, funkcija, rodyklė ir kt.
Adresas operatoriui C
Adreso operatorių pavyzdžiai
1 pavyzdys:
Paprastas C pavyzdys, rodantis, kaip mūsų programoje naudoti adreso operatorių.
C
// C program to illustrate the use of address operator> #include> > int> main()> {> > // declaring a variable> > int> x = 100;> > > // printing the address of the variable> > printf> (> 'The address of x is %p'> , &x);> > return> 0;> }> |
Išvestis
The address of x is 0x7fffe8f5591c
Paaiškinimas
Kintamasis x buvo apibrėžtas ir inicijuotas reikšme 100 aukščiau esančioje programoje. Gavome šio kintamojo x adresą naudodami adreso operatorių (&) kaip priešdėlį ir išspausdinome naudodami funkciją printf ().
Pastaba: %p formato specifikacija, skirta adreso spausdinimui šešioliktaine forma.
Paprastai adreso operatoriaus grąžinama reikšmė yra saugoma rodyklė kintamąjį ir tada žymeklis panaikinamas, kad būtų gauta tame adresu saugoma reikšmė.
2 pavyzdys:
Rodyklės naudojimas adreso operatoriaus grąžintam adresui išsaugoti ir nuorodos panaikinimas.
C
// C program to illustrate the use of address operator with> // pointer> #include> > int> main()> {> > // integer variable> > int> x = 1;> > // integer pointer> > int> * ptrX;> > // pointer initialization with the address of x> > ptrX = &x;> > > // accessing value of x usin pointer> > printf> (> 'Value of x: %d
'> , *ptrX);> > > return> 0;> }> |
Išvestis
Value of x: 1
3 pavyzdys:
Kai kurioms standartinėms funkcijoms, tokioms kaip scanf(), taip pat reikalingas kintamojo adresas. Tokiais atvejais naudojame adreso operatorių.
C
// C Program to illustrate the use of address operator with> // scanf()> #include> > int> main()> {> > // defining variable> > int> number;> > > printf> (> 'Enter any number: '> );> > // using adress operator & in scanf() to get the value> > // entered by the user in the console> > scanf> (> '%d'> , &number);> > > // priting the entered number> > printf> (> 'The entered number is: %d'> , number);> > return> 0;> }> |
Išvestis
Enter any number: 10 The entered number is: 10
Adresas operatorių nesuderinamiems objektams C
Yra keletas objektų C, kuriems negalime naudoti adreso operatoriaus, t. y. negalime gauti tų objektų adresų C. Kai kurie iš jų yra:
- Registruoti kintamuosius
- Bit Fields
- Literatai
- Išraiškos
Adreso operatoriaus (&) programos:
Adreso operatorius (&) plačiai naudojamas C programose norint gauti skirtingų objektų adresus. Kai kurios iš pagrindinių ir dažniausiai naudojamų programų yra šios:
- Rodyklės kaip funkcijos argumentai
- Rodyklės aritmetika
- Duomenų struktūrų diegimas