Poniters Confusion!!!
Здраво дечки...имам една мала забуна за која би сакал да ве прашам вас поискусните.
Нормално, најпроблематична тематика во C/C++ -
ПОКАЖУВАЧИТЕ.
Вака...методот, функционирањето,операциите и имплементацијата на покажувачите во C/C++ ми е во глобала јасна, но прелистувајќи кодчиња наидов на наредба која искрено ми направи мала конфузија. Сега, со код ќе пробам подобро да објаснам што е причината за мојата конфузија :nesvest:
Код:
{
int a=1,b=2;
int *pok1,*pok2;
pok1=&a;
pok2=&b;
*pok1=10;
*pok2=*p1;
[B][I][COLOR="Red"]pok1=pok2;[/COLOR][/I][/B]
*pok1=20;
}
Значи се работи за 7-иот ред код (обележан со црвено) - со примерот всушност сака да се покаже дека еден покажувач во текот на програмата може да добие две различни вредности.
Е сега, каде настанува збунката (за мене)?? На крајот од програмата (откако ќе се изврши) вредноста која ке ја добие променливата
b=20, а вредноста на променливата
a=10. За променливата
a output-от ми е јасен, но за променливата
b некако 50:50 разбирам....па тука всушност е моето прашање:
"Што се случува во позадина на компјутерот/компајлерот кога ќе се изврши обележаниот дел од кодот и како всушност настанува тоа КОПИРАЊЕ НА ВРЕДНОСТА НА ПОКАЖУВАЧОТ"???
Кога го гледам овој мал код во главата како идеја ми се врти тоа
покажување на двата покажувачи на истата мемориска локација, но кога ке го видам излезот, некако...согледувам дека неправилно размислувам во овој случај:kesa:
Па...ги замолувам поискуните, доколку не ви е мака малку постручно да ми го појасните ова копирање на вредноста и добивање на две различни вредности на еден покажувач во рамките на истата програма??!
Се надевам дека ме сфативте што сакам да прашам и благодарам однапред на сите кои ке го разгледаат моето прашање.
Поздрав.