logo

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:



java iteratorius žemėlapiui
  &   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 ().

java yra pavyzdys

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;> }>

>

>

mašinraščio foreach kilpa
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

gzip, skirtas Linux




// 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