С-д гарах ба рефийн хоорондох ялгаа

Агуулгын хүснэгт:

С-д гарах ба рефийн хоорондох ялгаа
С-д гарах ба рефийн хоорондох ялгаа

Видео: С-д гарах ба рефийн хоорондох ялгаа

Видео: С-д гарах ба рефийн хоорондох ялгаа
Видео: Интерпретация ЭКГ для начинающих: Часть 2 - Аритмии 🔥🔥🔥🔥 анимация, критерии и объяснение 2024, Арваннэгдүгээр
Anonim

Үндсэн ялгаа – C хэл дээр гарах ба реф

C нь Microsoft-ын боловсруулсан орчин үеийн програмчлалын хэл юм. Энэ нь ширээний компьютер, вэб болон гар утасны төрөл бүрийн програмуудыг боловсруулахад хэрэглэгддэг. Функц эсвэл аргууд нь програмчлалын ойлголт юм. Тодорхой даалгаврыг гүйцэтгэхэд ашигладаг бүлэг мэдэгдлийг функц эсвэл арга гэж нэрлэдэг. C програмуудад гүйцэтгэл нь үндсэн () -ээс эхэлдэг. Энэ бол аргын жишээ юм. Аргыг дуудах үед өгөгдлийг арга руу дамжуулах эсвэл аргаас хүлээн авдаг. Шинэ аргыг дуудаж буй аргыг аргыг дуудах гэж нэрлэдэг. Шинэ аргыг дуудагдсан арга гэж нэрлэдэг. Дамжуулсан утгуудыг удирдах, үр дүнг буцааж авахын тулд C нь параметрүүдийг ашигладаг. Эдгээр нь үнэлэгдсэн параметрүүд, гаралтын параметрүүд, лавлагааны параметрүүд юм. Утгын параметрүүдийг утгаар нь арга руу параметр дамжуулахад ашигладаг. Лавлагаагаар параметрүүдийг арга руу дамжуулахын тулд лавлагааны параметрүүдийг ашигладаг. Үр дүнг аргаас буцааж дамжуулахын тулд гаралтын параметрүүдийг ашигладаг. C хэл дээр гаралтын параметрүүдэд out түлхүүр үгийг, параметрүүдийг лавлахад ref түлхүүр үгийг ашигладаг. C хэл дээрх out болон ref хоёрын гол ялгаа нь out гэдэг нь дуудагдсан аргаас дуудлагын арга руу үр дүнг дамжуулахад хэрэглэгддэг гаралтын параметрийг заахад хэрэглэгддэг түлхүүр үг бөгөөд ref нь дамжуулахад ашигладаг лавлагааны параметрийг заах түлхүүр үг юм. дуудлагын аргаас дуудагдсан арга руу болон дуудагдсан аргаас дуудлагын арга руу өгөгдөл хүлээн авах өгөгдөл.

C дээр юу гарч байна?

Функц эсвэл аргын синтакс дараах байдалтай байна. Арга нь аргын нэр, параметрийн жагсаалт, буцаах төрөл, хандалтын тодорхойлогч зэрэг хэд хэдэн элементтэй.

(параметрийн жагсаалт)

{ //гүйцэх мэдэгдлүүд

}

Арга бүр нь функцийг дуудах өвөрмөц аргатай. Гүйцэтгэх боломжтой мэдэгдлүүд нь буржгар хаалт дотор байна. Буцах төрөл нь функц нь утгыг буцаадаг эсэхийг тайлбарладаг. Буцах төрөл байхгүй тохиолдолд үүнийг хүчингүй гэж нэрлэдэг. Хандалтын тодорхойлогч нь аппликешн дэх аргын хүртээмжийг тодорхойлоход хэрэглэгддэг. Параметрүүд нь өгөгдлийг хүлээн авах эсвэл арга руу дамжуулахад ашиглагддаг. Мөн параметргүй аргууд байж болно. Параметрүүд нь үнэлэгдсэн параметр, гаралтын параметр эсвэл лавлагаа параметр байж болно.

C хэл дээрх гарах ба рефийн хоорондох ялгаа
C хэл дээрх гарах ба рефийн хоорондох ялгаа

Гаралтын параметрүүдийг дуудлагын арга руу буцаан дамжуулахад ашигладаг. Үүний тулд параметрийг out гэсэн түлхүүр үгээр зарлах ёстой. Гаралтын параметр нь шинэ хадгалах байршлыг үүсгэдэггүй. Ерөнхийдөө арга нь нэг утгыг буцаадаг. Харин C хэл дээр гаралтын параметрүүдийг ашиглан функцээс хоёр утгыг буцаах боломжтой. Доорх хөтөлбөрийг үзнэ үү.

нэрийн зайны програм1{

нийтийн анги Тооцоолол{

нийтийн хүчингүй дэлгэц(out int a, out int b){

int утга=5;

a=утга;

b=утга;

a=a a;

b=bb;

}

нийтийн статик хүчингүй үндсэн(Мөр арг){

int утга1=10, утга2=20;

Calculation cal=new Calculation();

кал.дэлгэц(гацах утга1, гарах утга2);

Console. ReadLine();

}

}

}

Дэлгэцийн функцийг үндсэн аргаас дуудсан. Утга1 ба хоёр дахь утга нь 10 ба 20 гэсэн утгатай боловч тэдгээрийг аргад оруулаагүй болно. Функцийн хувьд a-ийн утга 25, b-ийн утга мөн 25 байна. Тиймээс эдгээр утгыг буцаана. Утга1 ба утгыг2 хэвлэхдээ 10 ба 20-ыг өгөхгүй. Оронд нь 25 ба 25-ыг хэвлэх болно. Out гэсэн түлхүүр үгийг ашиглан олон утгыг аргаас буцааж болно.

C хэл дээр ref гэж юу вэ?

Параметрүүдийг утгаар нь дамжуулах үед параметр бүрт шинэ хадгалах байршил үүсдэг. Үндсэн програмаас илгээсэн бодит параметрүүд өөрчлөгдөхгүй. Үүний оронд эдгээр утгыг тусдаа байршилд хуулна. Эдгээр шинэ хувьсагчийн хуулбарыг албан ёсны параметрүүд гэж нэрлэдэг. Доорх кодыг үзнэ үү.

нэрийн зайны програм1{

нийтийн анги Тооцоолол{

нийтийн хүчингүй своп(int x, int y){

int temp;

temp=x;

x=y;

y=temp;

}

нийтийн статик хүчингүй үндсэн(Мөр арг){

Calculation cal=new Calculation();

int p=2;

int q=3;

кал.солилцоо(p, q);

Console. WriteLine(p);

Console. WriteLine(q);

Console. ReadLine();

}

}

}

Дээрх программын дагуу Calculation анги нь аргын солилцоотой (). Үндсэн программ дээр Calculation төрлийн объект үүсгэгддэг. p ба q зэрэг хоёр утга байна. p хувьсагч нь 2 утгатай, q хувьсагч нь 3 утгатай байна. Энэ хоёр утгыг swap арга руу шилжүүлнэ. Своп аргад 2-ын утгыг х хувьсагч руу, 3-ыг y хувьсагч руу хуулна. Temp хувьсагчийг ашиглан утгуудыг солино. Үндсэн программ руу буцаж ороход p ба q-г хэвлэх үед утгууд солигддоггүй. p утга 2, q утга 3 хэвээр байна. Своп аргад ч утгууд нь солигддог боловч үндсэн программд тусгагддаггүй.

Дээрх утгыг дамжуулахаас ялгаатай нь параметрүүдийг лавлагаагаар дамжуулах боломжтой. Лавлах хувьсагч нь санах ойн байршлын лавлагаа юм. Шинэ санах ойн байршил байхгүй байна. Аргын өөрчлөлтийг үндсэн хөтөлбөрт тусгасан болно. C хэл дээр лавлагааны параметрүүдийг ref түлхүүр үгээр илэрхийлдэг. Доорх хөтөлбөрийг үзнэ үү.

нэрийн зайны програм1{

нийтийн анги Тооцоолол{

нийтийн хүчингүй своп(ref int x, ref int y){

int temp;

temp=x;

x=y;

y=temp;

}

нийтийн статик хүчингүй үндсэн(Мөр арг){

Calculation cal=new Calculation();

int p=2;

int q=3;

cal.swap(ref p, ref q);

Console. WriteLine(p);

Console. WriteLine(q);

Console. ReadLine();

}

}

}

Дээрх программын дагуу Calculation анги нь swap аргатай. Үндсэн программ дээр Calculation төрлийн объект үүсгэгддэг. Эдгээр нь p ба q зэрэг хоёр хувьсагч юм. p хувьсагч нь 2 утгатай, q хувьсагч нь 3 утгатай байна. Утга дамжуулахын оронд p болон q-н санах ойн байршлын лавлагааг аргад шилжүүлнэ. Эдгээр лавлагаа хувьсагчдыг ref ашиглан иш татдаг. Своп аргад утгуудыг шинэ байршилд шилжүүлэхээс илүүтэйгээр бодит параметрүүдэд өөрчлөлт оруулдаг. Үндсэн программын p ба q утгыг хэвлэх үед энэ нь солигдсон утгуудыг өгнө. Одоо p утга 3, q утга 2 байна.

C хэл дээрх out болон ref хоёрын ижил төстэй байдал юу вэ?

Хоёулаа аргын параметрүүдийг заах түлхүүр үг юм

C хэл дээрх out болон ref хоёрын ялгаа нь юу вэ?

out vs ref C

Гадах гэдэг нь C хэлний гаралтын параметрийг илэрхийлэхэд хэрэглэгддэг түлхүүр үг юм. Энэ нь дуудагдсан аргаас дуудах арга руу үр дүнг дамжуулахад хэрэглэгддэг. Ref нь C хэлний түлхүүр үг бөгөөд лавлагаа параметрийг лавлахад ашигладаг. Энэ нь дуудлагын аргаас дуудагдсан арга руу өгөгдөл дамжуулах, дуудагдсан аргаас дуудах арга руу өгөгдөл буцаахад ашиглагддаг.
Функциональ
Гутсан түлхүүр үгийг ашиглах үед дуудлагын аргаас дуудсан арга руу өгөгдлийг дамжуулж болно. Гэхдээ энэ өгөгдлийг устгасан. Энэ нь дуудагдсан аргаас дуудлагын арга руу үр дүнг дамжуулахад хэрэглэгддэг. Ref түлхүүр үгийг ашиглах үед өгөгдлийг дуудлагын аргаас дуудсан арга руу дамжуулж, өөрчилсөн өгөгдлийг дуудлагын арга руу буцаан дамжуулдаг.
Өгөгдөл дамжуулах
Түлхүүр үгийг ашиглах үед өгөгдөл нь дуудагдах арга руу дуудагдсан арга хэлбэрээр дамждаг. Ref түлхүүр үгийг ашиглах үед өгөгдлийг дуудах аргаас дуудсан арга, дуудсан аргаас дуудах арга гэсэн хоёр аргаар дамжуулдаг.

Хураангуй – C хэл дээрх реф болон гаралт

Арга дуудахдаа утгуудыг тухайн арга руу шилжүүлж, аргын үр дүнг буцааж авах шаардлагатай байж магадгүй. Үүнд хүрэхийн тулд C нь өөр өөр параметртэй байдаг. Утгын параметрүүдийг утгаар нь арга руу параметр дамжуулахад ашигладаг. Лавлагаагаар параметрүүдийг арга руу дамжуулахын тулд лавлагааны параметрүүдийг ашигладаг. Үр дүнг аргаас буцааж дамжуулахын тулд гаралтын параметрүүдийг ашигладаг. C хэл дээр гаралтын параметрүүдэд out түлхүүр үгийг, параметрүүдийг лавлахад ref түлхүүр үгийг ашигладаг. C хэл дээрх out болон ref хоёрын ялгаа нь, out нь дуудагдсан аргаас дуудлагын арга руу үр дүнг дамжуулахад хэрэглэгддэг гаралтын параметрийг илэрхийлэхэд хэрэглэгддэг түлхүүр үг бол ref нь өгөгдөл дамжуулахад хэрэглэгддэг лавлах параметрийг заах түлхүүр үг юм. дуудагдсан арга руу залгах, дуудагдсан аргаас дуудах арга руу өгөгдөл хүлээн авах.

Pdf of out vs ref-г C хэлээр татаж авах

Та энэ нийтлэлийн PDF хувилбарыг татаж аваад офлайн зорилгоор ашиглах боломжтой. PDF хувилбарыг эндээс татаж авна уу: C хэл дээрх Out болон Ref-ийн ялгаа

Зөвлөмж болгож буй: