C++ Pointer sa Structure

C Pointer Sa Structure



Nagbibigay ang C++ ng malawak na hanay ng mga feature para sa pagbuo ng mga application. Ang isang ganoong tampok ay mga payo, na maaaring mag-imbak ng mga address ng memorya ng mga variable. Maaaring maging partikular na kapaki-pakinabang ang mga pointer kapag nagtatrabaho sa mga istruktura sa C++, dahil pinapayagan nila ang madaling pagmamanipula ng data ng istraktura. Sinasaklaw ng artikulong ito ang paraan ng paggamit ng mga pointer sa mga istruktura sa C++.

Panimula sa Mga Structure sa C++

Ang istraktura ay isang uri ng data na ginawa ng user na pinagsasama-sama ang maramihang mga variable ng iba't ibang uri ng data sa iisang entity na kinilala ng isang pangalan. Ang istraktura ay tulad ng isang lalagyan na naglalaman ng iba't ibang uri ng data, tulad ng mga integer, float, at mga character, sa isang unit.

Panimula sa Mga Pointer sa C++

Ang isang pointer sa C++ ay isang variable na nag-iimbak ng memory address ng isa pang variable. Ang mga ito ay kapaki-pakinabang para sa pagmamanipula at pag-access ng data sa memorya at karaniwang ginagamit sa dynamic na paglalaan ng memorya at pagpasa ng mga parameter sa mga function sa pamamagitan ng reference.







Pagdedeklara ng Pointer sa Structure sa C++

Bago tayo gumamit ng isang istraktura at mga pointer, kailangan muna nating ideklara ang mga ito. Ang 'istruktura' keyword ay ginagamit para sa deklarasyon ng istraktura sa C++, at ito ay sinusundan ng pangalan na nagpapakilala sa istraktura.



Ang sumusunod ay ang syntax ng pointer sa istraktura sa C++.



struct pangalan_ng_istruktura * ptr ;

ptr = at structure_variable ;

Nagdedeklara ang Syntax ng variable na pointer ptr ng uri ng istraktura pangalan_ng_istruktura . Ang (*) ay nagpapahiwatig na ptr ay isang pointer.





Ang pangalawang linya ay nagtatalaga ng memory address ng isang variable ng istraktura ng uri pangalan_ng_istruktura sa pointer ptr gamit ang & (address-of) operator.

Paano Gumawa ng Pointer sa Structure sa C++

Upang lumikha ng isang pointer sa istraktura sa C++ sumusunod ang mga hakbang:



Hakbang 1: Ideklara muna ang isang istraktura kasama ang mga gustong miyembro.

struct Empleado {

pangalan ng string ;

int edad ;

lumutang suweldo ;

} ;

Hakbang 2: Ngayon ay idedeklara namin ang isang pointer variable na may parehong uri ng istraktura. Gamitin ang (*) operator upang ipahiwatig na ito ay isang pointer variable.

Empleado * EmpleyadoPtr ;

Hakbang 3: Susunod na gamitin ang tirahan-ng operator (&) upang italaga ang pointer sa memory address ng isang variable ng istraktura.

Empleyado p = { 'Empleado' , 24 , 10000 } ;

EmpleyadoPtr = at p ;

Upang ma-access ang miyembro ng istraktura gagamitin namin ang palaso operator (->) na may variable na pointer.

cout << 'Pangalan: ' << EmpleyadoPtr -> pangalan << endl ;

cout << 'Edad:' << EmpleyadoPtr -> edad << endl ;

cout << 'Suweldo:' << EmpleyadoPtr -> suweldo << endl ;

Nasa ibaba ang kumpletong programa na nagpapaliwanag kung paano lumikha ng isang pointer sa istraktura sa C++:

#include

gamit ang namespace std ;

struct Empleado {

pangalan ng string ;

int edad ;

lumutang suweldo ;

} ;

int pangunahing ( ) {

Empleyado p = { 'Empleado' , 24 , 10000 } ;

Empleado * EmpleyadoPtr = at p ;

cout << 'Pangalan: ' << EmpleyadoPtr -> pangalan << endl ;

cout << 'Edad:' << EmpleyadoPtr -> edad << endl ;

cout << 'Suweldo:' << EmpleyadoPtr -> suweldo << endl ;

bumalik 0 ;

}

Ang programa sa itaas ay lumilikha ng isang nakabalangkas Empleado may tatlong miyembro; pangalan , edad , at suweldo . Pagkatapos ay lumilikha ito ng isang variable p ng uri ng Empleyado at nagpapasimula ng mga miyembro nito.

Susunod, lumilikha ito ng variable ng pointer EmpleyadoPtr ng uri ng Empleyado at itinalaga dito ang memory address ng p . Susunod na ginagamit nito ang pointer upang ma-access ang mga miyembro ng Empleyado struct at ipi-print ang mga ito sa console.

Konklusyon

Ang mga pointer sa mga istruktura sa C++ ay nagbibigay-daan para sa pagmamanipula ng mga kumplikadong uri ng data nang madali. Sa pamamagitan ng paggamit ng mga pointer sa mga istruktura, maaari mong i-access at baguhin ang data na nilalaman sa loob ng isang istraktura at ipasa ito bilang argumento sa mga function. Para sa mga detalye sa mga C++ pointer sa istraktura, sumangguni sa dokumentasyon.