Kezdőoldal » Számítástechnika » Programozás » Mi a magyarazat ehhez a kis...

Mi a magyarazat ehhez a kis progihoz?

Figyelt kérdés

C nyelv



Valki fuzne egy kis magyarazatot ehhez a pl. programhoz. A pointnereket magyaraza,valmi olyannak kapcsolatos hogy globalis es lokalis valtozok ....


Azt kell ennel a peldanal megerteni,hogy miert nem csereli ki az elso swap1 funcio az i j míg a swap2 kicsereli.



#include<stdio.h>

void swap1(int a, int b)

{

int c;

c = a;

a = b;

b = c;

}

void swap2(int *pa, int *pb)

{

int c;

c = *pa;

*pa = *pb;

*pb = c;

}

main()

{

int i = 3, j = 5;

swap1(i,j);

printf("i = %d, j = %d\n",i,j);

swap2(&i,&j);

printf("i = %d, j = %d\n",i,j);

}


2011. dec. 31. 15:30
 1/3 anonim ***** válasza:

Lokális: csak az adott blockon bellül érhető el

Globális: az egész programból

2011. dec. 31. 15:54
Hasznos számodra ez a válasz?
 2/3 anonim ***** válasza:

A swap1 függvény paraméterül 2 int-et vár, függvény hívás helyén swap1(3,5) is lehetne.

A swap2 paramáterül 2 int változó memóriacímét várja paraméterül.

A swap1 a paraméterül a kapott int-ek értékéről másolatot készít a verembe és ezen másolatok értékét cseréli fel.

A swap2 a verembe 2 int-re mutató pointert hoz létre, a mutatók által mutatott memóriaterületen lévő int értékeken végzik el a cserét.

2011. dec. 31. 18:24
Hasznos számodra ez a válasz?
 3/3 anonim ***** válasza:
Magyarul az első látszólag semmit se csinál, a második viszont felcseréli a két paramétert.
2012. jan. 1. 01:53
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!