|
dev.gamez.lv Latvian Game Developers Community
|
View previous topic :: View next topic |
Author |
Message |
killyou
Joined: 17 Aug 2006 Posts: 24
|
Posted: Thu Nov 30, 2006 4:59 pm Post subject: Norāde(pointer) * un Adreses operātors & |
|
Es būtu ļoti pateicīgs, ja kāds īsi un saprotoši izstāstītu, kāda nozīme un kur var pielietot Norādes(pointer) un Adreses operātorus &. Lasiju par šiem abiem, be tomēr nesaprotu. |
|
Back to top |
|
|
GiGa Indago Uzvarētājs
Joined: 25 Sep 2003 Posts: 887
|
Posted: Thu Nov 30, 2006 5:28 pm Post subject: |
|
Ar & operatoru var iegūt kāda objekta adresi. Piemēram:
Code: |
int A;
int *pi = &A; //iekš pi noglabājam A adresi = "pi norāda uz A"
*pi = 5; //tam mainīgajam, uz kuru norāda pi, piešķiram vērtību 5.
|
Kā redzi piemērā, definējot mainīgo * norāda, ka tas būs pointers, tas ir: "int *" ir datu tips "pointers uz int tipa mainīgo".
Bet piemēra pēdējā rindiņā * ir "indirection operator". Rakstot "*pi" tas nozīmē "tas mainīgais, uz kuru norāda pi".
Kāpēc pointeri ir vajadzīgi? Pointeri ir ļoti spēcīgs instruments, bet viņu īsto spēku tik viegli uzreiz nesapratīsi un nav nemaz tik viegli to paskaidrot. Pagaidām pietiks, ja pateikšu virspusēji: galvenie pointeru pielietošanas veidi ir masīvi (statiskie un dinamiskie), kā arī mainīgo padošana uz funkciju pēc adreses - tā, lai tos varētu izmainīt no funkcijas iekšienes. Jo tālāk mācīsies programmēšanu, jo vairāk izmantošanas iespējas pamanīsi - gan šo divu jau minēto iespēju variācijas, gan pavisam jaunas. |
|
Back to top |
|
|
killyou
Joined: 17 Aug 2006 Posts: 24
|
Posted: Fri Dec 01, 2006 2:58 pm Post subject: |
|
Pladies liels
baidzot pieleca, savādāk lasot tālāk pie vairākdimensiju masīviem tiek pielietots * un nesaprotu, kas tur īsti domāts. Bet tagat viss palika skaidrs. _________________ Nesodiet mani, esmu tikai iesācējs iekš C++. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|