Mi a különbség a * és a & operátorok között a C programozásban?

Mi A Kulonbseg A Es A Operatorok Kozott A C Programozasban



Az operátorokat változókkal kapcsolatos műveletek végrehajtására használják, és nagyon hasznosak a programozó számára olyan műveletek végrehajtásában, mint a matematikai, relációs és logikai formák. A C nyelvben sokféle beépített függvényünk van, amelyekkel egyjeles operátor segítségével tudunk konkrét feladatokat végrehajtani.

Ebben az útmutatóban látni fogjuk a különbséget a * és & operátorok a C programozásban.

* Kezelő C-ben

A * Az operátor a C programozási nyelv egyik széles körben használt operátora, amelyet a mutató értékeinek lekérésére használnak. A * operátort dereference-operatorként is nevezzük. Ezzel az operátorral könnyedén elérheti a memóriában tárolt adatokat a címmutatók segítségével. Ha a programban használja, inicializálnia kell egy mutatót, amely a címre mutat, hogy könnyen lehessen lekérni a címmutatóban tárolt értéket.







& Operátor C-ben

& operátor másrészt a memóriahelyen lévő operandus címének visszaadására szolgál. A & operátornak köszönhetően könnyen megkaphatja a memóriahelyen hivatkozott változó címét. Bármilyen adattípusú változó címének megtekintéséhez meg kell adni a változó nevét &-operátor előjellel.



Példák

Az alábbiakban bemutatunk néhány példát a használó C-programokra * operátor, & operátor és a kettő kombinációja.



1. példa: A program (*) Operátort használ

#include

int fő- ( ) {
int A = 5 ;
int * p = & A ;
printf ( 'A értéke %d \n ' , * p ) ;
Visszatérés 0 ;
}

A kód inicializálja a változót A 5-ös értékkel, akkor deklarál egy pointer típusú változót, hogy van valamilyen memóriacíme és a printf függvényben a cím értékét mutatja A ami az 5.





Kimenet



2. példa: A program operátort használ (&).

#include

int fő- ( )
{
int var1 = 1000 ;
int var2 ;
var2 = & var1 ;
printf ( ' A var2 memóriahely címe %i' var2 ) ;
Visszatérés 0 ;
}

A fenti kódban először is van egy egész változó var1 amelynek értéke 1000. Van egy másik változó is var2 amely a változó címét veszi fel var1 . A cím ezután a következővel kerül kinyomtatásra %én formátum-specifikációk.

Kimenet

3. példa: A program & és * operátorokat is használ

#include
int fő- ( ) {
int aa = 5 , bb ;
int * pp ;
pp = & aa ;
bb = * pp ;
printf ( '-----az aa-címe 0x%x \n -----' , & aa ) ;
printf ( '-----A-bb címe 0x%x \n -----' , & bb ) ;
printf ( '-----A pp értéke 0x%x \n -----' , pp ) ;
printf ( '---------Most aa értéke %d \n -----' , aa ) ;
printf ( '-------*pp iss %d értéke \n -----' , * pp ) ;
printf ( '-----A bb értéke: %d----' , bb ) ;
Visszatérés 0 ;
}

A fenti C kódban két egyszerű egész változó van inicializálva és egy mutató típusú *pp változó. Ezután hozzárendeljük az aa címet a pp-hez, és ismét dereferáljuk az értékét a bb változóval. A végén az összes értéket kinyomtatjuk a printf függvény segítségével.

Kimenet

Következtetés

Az operátoroknak igen jelentős szerepük van a programozási nyelvben. Ebben a cikkben két olyan operátort tárgyaltunk, amelyek csak egyetlen operandussal működnek, és a kód teljesítményének növelésére szolgálnak a C programozási nyelvben. Mindkét * és & az operátorok jelentésükből és funkcióikból következtetnek * „visszaadja a változó értékét”, míg & „A futási idő értékek manipulálására szolgál memóriacímek felvételével”.