Wat is het verschil tussen de * en de &-operatoren in C-programmering

Wat Is Het Verschil Tussen De En De Operatoren In C Programmering



Operatoren worden gebruikt om bewerkingen op variabelen uit te voeren en zijn zeer nuttig voor de programmeur om bewerkingen uit te voeren zoals wiskundige, relationele en logische vormen. In C-taal hebben we vele soorten ingebouwde functies die worden gebruikt om specifieke taken uit te voeren met behulp van een single sign-operator.

In deze richtlijn zullen we het verschil zien tussen de * En & operators in C-programmering.

* Operator in C

De * operator is een van de meest gebruikte operators in de programmeertaal C die wordt gebruikt om de waarden van een aanwijzer op te halen. We noemen ook * operator als dereferentie-operator. Door deze operator te gebruiken, kunt u eenvoudig toegang krijgen tot de opgeslagen gegevens in het geheugen met behulp van de adreswijzers. Als u het in het programma gebruikt, moet u een aanwijzer initialiseren die naar het adres wijst, zodat u gemakkelijk de opgeslagen waarde in de adresaanwijzer kunt ophalen.







& operator in C

& operator daarentegen wordt gebruikt om het adres van de operand in de geheugenlocatie terug te geven. Dankzij de &-operator kunt u eenvoudig het adres krijgen van de variabele waarnaar wordt verwezen in de geheugenlocatie. Om het adres van de variabele van elk type gegevenstype te zien, moet u de naam van de variabele opgeven met het teken van &-operator.



Voorbeelden

Hieronder staan ​​enkele voorbeelden van C-programma's die gebruikmaken van * telefoniste, & operator en een combinatie van beide.



Voorbeeld 1: Programma gebruikt (*) Operator

#include

int voornaamst ( ) {
int A = 5 ;
int * P = & A ;
printf ( 'De waarde van A is %d \N ' , * P ) ;
opbrengst 0 ;
}

De code initialiseert variabele A met waarde 5 verklaart het een pointer-type variabele om een ​​geheugenadres te hebben en in de printf-functie toont het de waarde van het adres A dat is 5.





Uitgang



Voorbeeld 2: Programma gebruikt (&) Operator

#include

int voornaamst ( )
{
int var1 = 1000 ;
int var2 ;
var2 = & var1 ;
printf ( 'Het geheugenlocatie-adres van var2 is %i' var2 ) ;
opbrengst 0 ;
}

In de bovenstaande code is er eerst een integer-variabele var1 dat heeft de waarde 1000. Er is nog een variabele var2 dat neemt het adres van variabele var1 . Het adres wordt vervolgens afgedrukt met behulp van de %i formaatspecificaties.

Uitgang

Voorbeeld 3: Programma gebruikt zowel & als * operatoren

#include
int voornaamst ( ) {
int aa = 5 , geb ;
int * p.p ;
p.p = & aa ;
bb = * p.p ;
printf ( '-----het adres van aa is 0x%x \N -----' , & aa ) ;
printf ( '-----Adres van-bb is 0x%x \N -----' , & bb ) ;
printf ( '-----De waarde van pp is 0x%x \N -----' , blz ) ;
printf ( '---------Nu is de waarde van aa %d \N -----' , aa ) ;
printf ( '-------waarde van *pp is %d \N -----' , * p.p ) ;
printf ( '-----De waarde van bb is: %d----' , geb ) ;
opbrengst 0 ;
}

In de bovenstaande C-code worden twee eenvoudige integer-variabelen geïnitialiseerd en één pointertype-variabele *pp. Vervolgens wijzen we het aa-adres toe aan pp en herleiden we de waarde opnieuw door de bb-variabele. Aan het einde printen we alle waarden met behulp van de printf-functie.

Uitgang

Conclusie

Operators spelen een zeer belangrijke rol in de programmeertaal. In dit artikel hebben we twee operatoren besproken die met slechts enkele operanden werken en die worden gebruikt om de prestaties van code in de programmeertaal C te verbeteren. Beide * En & operators leiden in hun betekenis en functionaliteiten af ​​als * wordt gebruikt voor 'retourneert de variabele waarde' while & is voor 'manipulatie van waarden op looptijd door geheugenadressen te nemen'.