Adresas operatoriui ir C

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-Operatorius-C

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:

  1. Registruoti kintamuosius
  2. Bit Fields
  3. Literatai
  4. 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:

  1. Rodyklės kaip funkcijos argumentai
  2. Rodyklės aritmetika
  3. Duomenų struktūrų diegimas