Qhov Tseem Ceeb Qhov txawv - tawm vs ref hauv C
C yog hom lus programming niaj hnub tsim los ntawm Microsoft. Nws yog siv los tsim ntau yam kev siv rau desktop, web thiab mobile. Functions los yog txoj kev yog ib lub tswv yim nyob rau hauv lub programming. Cov pab pawg ntawm cov lus uas tau siv los ua ib txoj haujlwm tshwj xeeb yog hu ua kev ua haujlwm lossis ib txoj hauv kev. Hauv C cov kev pab cuam, kev ua tiav pib los ntawm lub ntsiab (). Nws yog ib qho piv txwv ntawm ib txoj kev. Thaum hu rau ib txoj kev, cov ntaub ntawv raug xa mus rau txoj kev lossis tau txais los ntawm txoj kev. Txoj kev uas hu rau txoj kev tshiab yog hu ua txoj kev. Txoj kev tshiab hu ua txoj kev hu ua. Txhawm rau tswj hwm cov txiaj ntsig dhau los thiab tau txais cov txiaj ntsig rov qab, Csiv cov ntsuas. Lawv yog cov muaj nuj nqis tsis, tso zis tsis tau thiab siv tsis tau. Tus nqi parameters yog siv rau kev hla cov tsis mus rau hauv txoj kev los ntawm tus nqi. Cov ntaub ntawv pov thawj yog siv los hla cov kev txwv mus rau txoj kev los ntawm kev siv. Cov zis tsis tau siv los hla qhov tshwm sim rov qab los ntawm txoj kev. Hauv C, tawm lo lus tseem ceeb yog siv rau cov khoom tso tawm thiab ref lo lus tseem ceeb yog siv los siv cov kev txwv. Qhov sib txawv tseem ceeb ntawm kev tawm thiab ref hauv Cyog tias, tawm yog lo lus tseem ceeb siv los xa cov khoom tso tawm uas siv los hla cov txiaj ntsig los ntawm txoj kev hu mus rau txoj kev hu thaum ref yog lo lus tseem ceeb xa mus rau qhov kev siv tsis tau siv los dhau. cov ntaub ntawv los ntawm txoj kev hu mus rau txoj kev hu thiab tau txais cov ntaub ntawv los ntawm txoj kev hu mus rau txoj kev hu.
Dab tsi tawm hauv C?
Cov lus qhia rau kev ua haujlwm lossis ib txoj hauv kev yog raws li hauv qab no. Ib txoj kev muaj ntau lub ntsiab lus xws li lub npe txoj kev, daim ntawv teev npe, rov qab hom thiab nkag mus rau qhov tshwj xeeb.
(parameter list)
{ // nqe lus kom ua tiav
}
Txhua txoj kev muaj txoj hauv kev tshwj xeeb los ua haujlwm hu. Cov lus qhia ua tiav yog nyob rau hauv curly braces. Cov khoom xa rov qab piav qhia seb qhov haujlwm puas rov qab muaj nuj nqis lossis tsis yog. Thaum tsis muaj hom rov qab, nws yog hu ua void. Access specifier yog siv los qhia txog txoj kev nkag tau yooj yim hauv daim ntawv thov. Cov kev txwv yog siv los txais lossis kis cov ntaub ntawv mus rau txoj kev. Kuj tseem muaj txoj hauv kev uas tsis muaj qhov ntsuas. Parameters yuav muaj nuj nqis tsis, tso zis parameters los yog siv tsis.
Cov kev tso zis tawm yog siv los hla cov txiaj ntsig rov qab mus rau txoj kev hu. Rau qhov ntawd, qhov parameter yuav tsum tau tshaj tawm nrog lo lus tseem ceeb tawm. Cov zis parameter tsis tsim qhov chaw cia tshiab. Feem ntau, ib txoj kev rov qab ib qho nqi. Tab sis hauv C, nws muaj peev xwm rov qab tau ob qhov txiaj ntsig los ntawm kev ua haujlwm siv cov khoom tso tawm. Xa mus rau qhov program hauv qab no.
namespace daim ntawv thov1{
public class suav{
public void display(out int a, out int b){
tus nqi=5;
a=tus nqi;
b=tus nqi;
a=a a;
b=bb;
}
public static void main(String args){
int value1=10, value2=20;
Calculation cal=new Calculation();
cal.display(out value1, out value2);
Console. ReadLine();
}
}
}
Cov zaub muaj nuj nqi hu los ntawm txoj hauv kev tseem ceeb. Tus nqi 1 thiab tus nqi ob muaj 10 thiab 20, tab sis lawv tsis raug coj mus rau hauv txoj kev. Tus nqi ntawm a yog 25 thiab tus nqi ntawm b kuj yog 25 hauv kev ua haujlwm. Yog li ntawd, cov txiaj ntsig tau rov qab los. Thaum luam tus nqi1 thiab tus nqi2, nws yuav tsis muab 10 thiab 20. Xwb, nws yuav luam tawm 25 thiab 25. Siv cov lus tseem ceeb tawm ntau tus nqi tuaj yeem rov qab los ntawm txoj kev.
C yog dab tsi?
Thaum dhau qhov ntsuas los ntawm tus nqi, qhov chaw cia tshiab yog tsim rau txhua qhov ntsuas. Qhov tseeb tsis tau xa los ntawm qhov kev pab cuam tseem ceeb tsis hloov. Hloov chaw, cov txiaj ntsig no tau theej mus rau qhov chaw sib cais. Cov ntawv luam uas hloov pauv tshiab no hu ua formal parameters. Xa mus rau tus lej hauv qab no.
namespace daim ntawv thov1{
public class suav{
public void swap(int x, int y){
int temp;
temp=x;
x=y;
y=temp;
}
public static void main(String args){
Calculation cal=new Calculation();
int p=2;
int q=3;
cal.swap(p, q);
Console. WriteLine(p);
Console. WriteLine(q);
Console. ReadLine();
}
}
}
Raws li cov kev pab cuam saum toj no, chav kawm suav muaj ib txoj kev sib pauv (). Hauv qhov kev zov me nyuam tseem ceeb, ib qho khoom ntawm hom Kev Sau Ntawv raug tsim. Muaj ob qhov txiaj ntsig xws li p thiab q. Qhov sib txawv p muaj tus nqi 2 thiab q qhov sib txawv muaj nqi 3. Cov ob qhov tseem ceeb tau dhau mus rau txoj kev sib pauv. Hauv txoj kev sib pauv, tus nqi 2 yog theej rau hauv qhov sib txawv x thiab tus nqi 3 yog theej rau qhov sib txawv y. Siv cov temp variable, cov nqi yog swapped. Rov qab rau hauv qhov kev zov me nyuam tseem ceeb, thaum luam ntawv p thiab q, qhov tseem ceeb tsis hloov pauv. Tus nqi p yog tseem 2 thiab q tus nqi yog 3. Txawm nyob rau hauv txoj kev sib pauv, qhov tseem ceeb yog swapped tab sis tsis muaj kev cuam tshuam hauv qhov kev pab cuam loj.
Tsis zoo li qhov tseem ceeb dhau los, nws muaj peev xwm dhau qhov ntsuas los ntawm kev siv. Ib qho kev siv sib txawv yog siv rau qhov chaw nco. Tsis muaj qhov chaw nco tshiab yog tsim. Cov kev hloov nyob rau hauv txoj kev xav tau nyob rau hauv lub hauv paus kev pab cuam. Hauv C, cov ntaub ntawv siv tau raug xa mus siv ref lo lus tseem ceeb. Xa mus rau qhov program hauv qab no.
namespace daim ntawv thov1{
public class suav{
public void swap(ref int x, ref int y){
int temp;
temp=x;
x=y;
y=temp;
}
public static void main(String args){
Calculation cal=new Calculation();
int p=2;
int q=3;
cal.swap(ref p, ref q);
Console. WriteLine(p);
Console. WriteLine(q);
Console. ReadLine();
}
}
}
Raws li cov kev pab cuam saum toj no, cov chav kawm suav nrog txoj kev sib pauv. Hauv qhov kev zov me nyuam tseem ceeb, ib qho khoom ntawm hom Kev Sau Ntawv raug tsim. Cov no yog ob qhov sib txawv xws li p thiab q. Qhov sib txawv p muaj tus nqi 2 thiab q qhov sib txawv muaj tus nqi 3. Ntau dua li dhau qhov tseem ceeb, qhov kev siv rau qhov chaw nco ntawm p thiab q yog dhau mus rau txoj kev. Cov kev hloov pauv no raug xa mus siv ref. Nyob rau hauv txoj kev sib pauv, es tsis yog daws qhov tseem ceeb rau qhov chaw tshiab, cov kev hloov pauv tau ua rau qhov tsis muaj tseeb. Thaum luam tawm p thiab q qhov tseem ceeb ntawm qhov kev zov me nyuam, nws yuav muab cov txiaj ntsig sib pauv. Tam sim no tus nqi p yog 3 thiab q tus nqi yog 2.
Dab tsi yog qhov zoo sib xws ntawm kev tawm thiab ref hauv C?
Ob qho tib si yog lo lus tseem ceeb siv los xa cov kev txwv ntawm ib txoj hauv kev
Qhov txawv ntawm qhov tawm thiab ref hauv C yog dab tsi?
out vs ref in C |
|
Qhov tawm yog lo lus tseem ceeb hauv C uas yog siv los xa cov khoom tso tawm. Nws yog siv los hla cov txiaj ntsig los ntawm txoj kev hu ua hu rau txoj kev. | Tus ref yog lo lus tseem ceeb hauv C uas yog siv los xa cov ntaub ntawv siv. Nws yog siv los hla cov ntaub ntawv los ntawm txoj kev hu mus rau txoj kev hu thiab xa cov ntaub ntawv los ntawm txoj kev hu mus rau txoj kev hu. |
Thaum siv lo lus tseem ceeb tawm, cov ntaub ntawv tuaj yeem dhau los ntawm kev hu mus rau txoj kev hu. Tab sis cov ntaub ntawv ntawd raug muab pov tseg. Nws yog siv los hla qhov tshwm sim rau txoj kev hu los ntawm txoj kev hu ua. | Thaum siv lo lus tseem ceeb ref, cov ntaub ntawv tau dhau los ntawm kev hu mus rau txoj kev hu thiab cov ntaub ntawv siv tau raug xa rov qab mus rau txoj kev hu. |
Passing of Data | |
Thaum siv lo lus tseem ceeb tawm, cov ntaub ntawv tau dhau los ua ib txoj hauv kev hu ua txoj kev hu. | Thaum siv lo lus tseem ceeb ref, cov ntaub ntawv tau dhau los ntawm ob txoj hauv kev uas yog, los ntawm kev hu mus rau txoj kev hu thiab los ntawm txoj kev hu mus rau txoj kev hu. |
Summary – out vs ref in C
Thaum thov ib txoj hauv kev, nws yuav tsim nyog kom dhau qhov tseem ceeb rau hauv txoj kev thiab kom tau txais cov txiaj ntsig rov qab los ntawm txoj kev. C muaj qhov sib txawv kom ua tiav qhov ntawd. Tus nqi parameters yog siv rau kev hla cov tsis mus rau hauv txoj kev los ntawm tus nqi. Cov ntaub ntawv pov thawj yog siv los hla cov kev txwv mus rau txoj kev los ntawm kev siv. Cov zis tsis tau siv los hla qhov tshwm sim rov qab los ntawm txoj kev. Hauv C, tawm lo lus tseem ceeb yog siv rau cov khoom tso tawm thiab ref lo lus tseem ceeb yog siv los siv cov kev txwv. Qhov txawv ntawm qhov tawm thiab ref hauv Cyog tias, tawm yog lo lus tseem ceeb siv los xa cov khoom tso tawm uas yog siv los hla cov txiaj ntsig los ntawm kev hu rau txoj kev hu thaum ref yog lo lus tseem ceeb los xa cov ntaub ntawv pov thawj uas siv los hla cov ntaub ntawv los ntawm txoj kev hu mus rau txoj kev hu thiab tau txais cov ntaub ntawv los ntawm txoj kev hu mus rau txoj kev hu.
Download the PDF of out vs ref in C
Koj tuaj yeem rub tawm PDF version ntawm kab lus no thiab siv nws rau offline hom phiaj raws li daim ntawv ceeb toom. Thov rub tawm PDF version ntawm no: Qhov Sib txawv Ntawm Tawm thiab Ref hauv C