С тіліндегі шығу мен рефл арасындағы айырмашылық

Мазмұны:

С тіліндегі шығу мен рефл арасындағы айырмашылық
С тіліндегі шығу мен рефл арасындағы айырмашылық

Бейне: С тіліндегі шығу мен рефл арасындағы айырмашылық

Бейне: С тіліндегі шығу мен рефл арасындағы айырмашылық
Бейне: Жігітім дұрыстап тықпаса не істеу керек? 2024, Шілде
Anonim

Негізгі айырмашылық – C

C - Microsoft әзірлеген заманауи бағдарламалау тілі. Ол жұмыс үстелі, веб және ұялы телефондарға арналған әртүрлі қосымшаларды әзірлеу үшін қолданылады. Функциялар немесе әдістер - бұл бағдарламалаудағы түсінік. Белгілі бір тапсырманы орындау үшін қолданылатын мәлімдемелер тобы функция немесе әдіс ретінде белгілі. C бағдарламаларында орындау негізгі () нүктесінен басталады. Бұл әдістің мысалы. Әдісті шақырған кезде деректер әдіске беріледі немесе әдістен алынады. Жаңа әдісті шақыратын әдіс әдісті шақыру ретінде белгілі. Жаңа әдіс шақырылатын әдіс ретінде белгілі. Өткізу мәндерін басқару және нәтижені қайтару үшін C параметрлерді пайдаланады. Олар бағаланған параметрлер, шығыс параметрлері және анықтамалық параметрлер. Мән параметрлері мән бойынша әдіске параметрлерді беру үшін пайдаланылады. Анықтамалық параметрлер параметрлерді сілтеме арқылы әдіске беру үшін пайдаланылады. Шығару параметрлері нәтижені әдістен кері жіберу үшін пайдаланылады. C тілінде шығыс параметрлері үшін out кілт сөзі және параметрлерге сілтеме жасау үшін ref кілт сөзі пайдаланылады. C тіліндегі out және ref арасындағы негізгі айырмашылық мынада: out - нәтижелерді шақырылған әдістен шақыру әдісіне беру үшін пайдаланылатын шығыс параметріне сілтеме жасау үшін пайдаланылатын кілт сөз, ал ref - өту үшін пайдаланылатын сілтеме параметріне сілтеме жасау үшін кілт сөз шақыру әдісінен шақырылған әдіске және шақырылған әдістен шақыру әдісіне деректерді алу үшін деректер.

C тілінде не бар?

Функция немесе әдіс синтаксисі төмендегідей. Әдісте әдіс атауы, параметрлер тізімі, қайтару түрі және қатынас спецификаторы сияқты бірнеше элементтер бар.

(параметрлер тізімі)

{ //орындалатын мәлімдемелер

}

Әр әдісте функцияны шақырудың бірегей әдісі бар. Орындалатын мәлімдемелер бұйра жақшалардың ішінде болады. Қайтару түрі функция мәнді қайтаратынын немесе қайтармайтынын түсіндіреді. Қайтару түрі болмаса, ол void деп аталады. Access спецификаторы қолданбадағы әдіс қолжетімділігін көрсету үшін пайдаланылады. Параметрлер деректерді алу немесе әдіске беру үшін пайдаланылады. Параметрлері жоқ әдістер де болуы мүмкін. Параметрлер бағаланған параметрлер, шығыс параметрлері немесе анықтамалық параметрлер болуы мүмкін.

C тіліндегі out және ref арасындағы айырмашылық
C тіліндегі out және ref арасындағы айырмашылық

Шығару параметрлері нәтижелерді шақыру әдісіне қайтару үшін пайдаланылады. Ол үшін параметр out кілт сөзімен жариялануы керек. Шығыс параметрі жаңа сақтау орнын жасамайды. Әдетте әдіс бір мәнді қайтарады. Бірақ C тілінде шығыс параметрлерін пайдаланып функциядан екі мәнді қайтаруға болады. Төмендегі бағдарламаны қараңыз.

аттар кеңістігі қолданбасы1{

қоғамдық сыныпты есептеу{

жалпыға ортақ жарамсыз дисплей(out int a, out int b){

int мәні=5;

a=мән;

b=мән;

a=a a;

b=bb;

}

public static void main(String args){

int мәні1=10, мән2=20;

Есептеу калькуляциясы=жаңа Есептеу();

cal.display(шығыс мәні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;

температура=x;

x=y;

y=температура;

}

public static void main(String args){

Есептеу калькуляциясы=жаңа Есептеу();

int p=2;

int q=3;

кал.алмасу(p, q);

Console. WriteLine(p);

Console. WriteLine(q);

Console. ReadLine();

}

}

}

Жоғарыдағы бағдарламаға сәйкес Есептеу класында әдіс алмасу () бар. Негізгі программада Calculation типті объект құрылады. p және q сияқты екі мән бар. p айнымалысының 2 мәні және q айнымалысының 3 мәні бар. Бұл екі мән своп әдісіне жіберіледі. Своп әдісінде 2 мәні х айнымалысына, ал 3 мәні у айнымалысына көшіріледі. Уақытша айнымалыны пайдалану арқылы мәндер ауыстырылады. Негізгі бағдарламаға оралғанда, p және q басып шығару кезінде мәндер ауыстырылмайды. p мәні бұрынғысынша 2 және q мәні 3. Тіпті ауыстыру әдісінде мәндер ауыстырылады, бірақ негізгі бағдарламада көрсетілмейді.

Жоғарыдағыдай мәндерді беруден айырмашылығы, параметрлерді сілтеме арқылы беруге болады. Анықтамалық айнымалы жад орнына сілтеме болып табылады. Жаңа жад орны жасалмады. Әдістемедегі өзгерістер негізгі бағдарламада көрсетілген. C тілінде сілтеме параметрлері ref кілт сөзі арқылы сілтеме жасайды. Төмендегі бағдарламаны қараңыз.

аттар кеңістігі қолданбасы1{

қоғамдық сыныпты есептеу{

қоғамдық жарамсыз своп(ref int x, ref int y){

int temp;

температура=x;

x=y;

y=температура;

}

public static void main(String args){

Есептеу калькуляциясы=жаңа Есептеу();

int p=2;

int q=3;

кал.алмасу(анықтама п, q);

Console. WriteLine(p);

Console. WriteLine(q);

Console. ReadLine();

}

}

}

Жоғарыдағы бағдарламаға сәйкес Calculation класында своп әдісі бар. Негізгі программада Calculation типті объект құрылады. Бұл p және q сияқты екі айнымалы. p айнымалысы 2 мәніне және q айнымалысы 3 мәніне ие. Мәндерді берудің орнына p және q жады орындарына сілтеме әдіске жіберіледі. Бұл анықтамалық айнымалыларға сілтеме арқылы сілтеме жасалады. Своп әдісінде мәндерді жаңа орынға көшірудің орнына өзгертулер нақты параметрлерге енгізіледі. Негізгі бағдарламаның p және q мәндерін басып шығару кезінде ол ауыстырылған мәндерді береді. Енді p мәні 3 және q мәні 2.

C тіліндегі out және ref арасында қандай ұқсастық бар?

Екеуі де әдіс параметрлеріне сілтеме жасау үшін пайдаланылатын кілт сөздер

C тіліндегі out және ref арасындағы айырмашылық неде?

шығыс пен C

Шығыс - бұл шығыс параметріне сілтеме жасау үшін пайдаланылатын C тіліндегі кілт сөз. Ол нәтижелерді шақырылған әдістен шақыру әдісіне беру үшін пайдаланылады. Сілтеме - сілтеме параметріне сілтеме жасау үшін пайдаланылатын C тіліндегі кілт сөз. Ол деректерді шақыру әдісінен шақырылған әдіске жіберу және шақырылған әдістен шақыру әдісіне деректерді қайтару үшін пайдаланылады.
Функционалдық
Шығару кілт сөзін пайдаланған кезде, деректерді шақыру әдісінен шақырылатын әдіске жіберуге болады. Бірақ бұл деректер жойылады. Ол нәтижені шақырылған әдістен шақыру әдісіне беру үшін қолданылады. Ref кілт сөзін пайдаланған кезде деректер шақыру әдісінен шақырылатын әдіске, ал өңделген деректер шақыру әдісіне қайта жіберіледі.
Деректерді жіберу
Кілт сөзді пайдаланған кезде деректер шақыру әдісіне шақырылатын әдіс болып табылатын бір жолмен беріледі. Ref кілт сөзін пайдаланған кезде деректер екі жолмен беріледі: шақыру әдісінен шақырылатын әдіске және шақырылған әдістен шақыру әдісіне.

Қорытынды – C тіліндегі рефке қарсы шықты

Әдісті шақырған кезде мәндерді әдіске жіберу және әдістен нәтижелерді қайтару қажет болуы мүмкін. C тілінде бұған қол жеткізу үшін әртүрлі параметрлер бар. Мән параметрлері мән бойынша әдіске параметрлерді беру үшін пайдаланылады. Анықтамалық параметрлер параметрлерді сілтеме арқылы әдіске беру үшін пайдаланылады. Шығару параметрлері нәтижені әдістен кері жіберу үшін пайдаланылады. C тілінде шығыс параметрлері үшін out кілт сөзі және параметрлерге сілтеме жасау үшін ref кілт сөзі пайдаланылады. C тіліндегі out және ref арасындағы айырмашылық мынада: out - нәтижелерді шақырылған әдістен шақыру әдісіне беру үшін пайдаланылатын шығыс параметріне сілтеме жасау үшін пайдаланылатын кілт сөз, ал ref - деректерді беру үшін пайдаланылатын сілтеме параметріне сілтеме жасау үшін кілт сөз шақыру әдісін шақыру әдісіне және шақырылған әдістен шақыру әдісіне деректерді алу.

PDF файлын C тілінде жүктеп алыңыз

Сіз осы мақаланың PDF нұсқасын жүктеп алып, оны сілтеме жазбасына сәйкес офлайн мақсаттарда пайдалана аласыз. PDF нұсқасын мына жерден жүктеп алыңыз: C тіліндегі Out және Ref арасындағы айырмашылық

Ұсынылған: