Массивди функциялардан кантип кайтаруу керек

Мазмуну:

Массивди функциялардан кантип кайтаруу керек
Массивди функциялардан кантип кайтаруу керек

Video: Массивди функциялардан кантип кайтаруу керек

Video: Массивди функциялардан кантип кайтаруу керек
Video: Урок 12. JavaScript. Методы массивов (forEach, map, filter, reduce, find, findIndex). Js Массивы. 2024, Ноябрь
Anonim

Массив деп аталган бирдей типтеги маалыматтардын аталышы, ар кандай программалоо тилдеринде кеңири колдонулат. Массивдин жардамы менен маалыматтар менен иштөө бир топ жеңилдейт, программа кодунун түзүмү камсыздалат. Тилдердеги функциялар дагы алыска кетет, бул сиздин кодуңуздун каалаган жеринде аны максатка ылайыкташтырбай аткарууга мүмкүнчүлүк берет. Мындай учурда, бир массивдин маалыматтарын функцияларда дагы, башка коддордо дагы колдонуу керек болот. Массивди функциялардан кайтаруу бир нече жол менен ишке ашырылышы мүмкүн.

Массивди функциялардан кантип кайтаруу керек
Массивди функциялардан кантип кайтаруу керек

Нускамалар

1 кадам

С ++ программалоо тилинде, массивдин функциясынан түздөн-түз кайтып келиши камсыздалбайт, бул тапшырманы маалыматтардын массивине көрсөткүчтү берүү менен чечсе болот. Бул үчүн, колдонула турган функцияны жарыялаганда, аны берүүнү пландаштырган массивдин берилиштеринин түрүнө көрсөткүч катары кайтарым маани катары жазыңыз.

Массив маалыматтарын көрсөткүч менен кайтарууну жүзөгө ашырган C ++ программалык кодунун мисалы:

класс СHelp

{

купуя:

int m_data [4];

коомдук:

fDebit ()

{

m_data [0] = 42;

m_data [1] = 56;

}

int * returnArray () // функциянын декларациясы жана сүрөттөлүшү

{

return m_data;

}

};

бош функция ()

{

int * m_dataA;

СHelp * ohelp = жаңы СHelp ();

m_dataA = ohelp-> returnArray (); // класс массивин кайтаруу

}

Бирок, мындай кайтып келүү бир класстын ичинде гана мүмкүн экендигин эске алуу керек. Эгерде сиз программанын кодунда кадимки функцияны колдонушуңуз керек болсо, анда көрсөткүч аркылуу маалыматты өткөрүп берүү туура эмес болуп калат жана ката менен аткарылышы мүмкүн. Бул өзгөрүлмө чөйрөлөргө байланыштуу. Массивди функциянын өзүндө түзгөндө, ал функциянын сыртында көрүнбөйт.

2-кадам

Эгерде сиз массивди жергиликтүү функциялардан өткөрүп беришиңиз керек болсо, анда төмөнкү параметрди колдонушуңуз керек. Программанын негизги кодунда массивди түзүңүз. Параметри бар функцияны жарыялаңыз, анын биринчиси массивдин берилиштеринин типине туруктуу көрсөткүч болот, экинчиси ушул эле типтеги кадимки көрсөткүч. Функцияны чакырганда, биринчи жана экинчи параметрлер сыяктуу эле, түзүлгөн массивдин дарегин өткөрүңүз. Функциядагы маалыматтар менен биринчи алынган көрсөткүч менен иштеп, бардык өзгөрүүлөрдү экинчи көрсөткүчкө ылайык жазыңыз. Ошентип, функция бүткөндөн кийин, сиз анын ишинин натыйжаларын экинчи көрсөткүчтөгү массивде аласыз.

Мындай функцияны жарыялоонун мисалы:

void my_funk_1 (const double * in, doble * out);

3-кадам

Функциядан көрсөткүчтү өзгөрүлмө масштабдагы каталарсыз өткөрүү маселесин чечкен std:: auto_ptr классын колдонуңуз.

Программанын үлгү коду:

камтыйт

камтыйт

int Аrr_f2 (int count) // функциянын сүрөттөлүшү

{

return new int [count];

}

бош функция ()

{

std:: auto_ptr ptr (Аrr_f2 (20)); // функцияны чакырып, ал аркылуу массивди кайтарыңыз

cout

4-кадам

FoxPro программалоо тилинде функцияны кайтарууну буга чейин түзүлгөн массивге шилтеме берүү менен ушул сыяктуу жол менен ишке ашырса болот.

FoxProдогу үлгү код:

ЖЕРГИЛИКТҮҮ mas (2)

= func_2 (@ f3)

Мас (15)

Мас (20)

FUNCTION func_2 (mas)

ТЫШКЫ АРВА мас

mas (1) = 1

mas (2) = 2

КАЙТУУ

ENDFUNC

5-кадам

AutoIt сценарий тили функцияны массивди стандарттык конструкцияларды жана Return операторун колдонуп кайтарууга мүмкүндүк берет.

AutoIt тилиндеги коддун үлгүсү:

# камтыйт

$ Rez = func_3 ()

$ aRezultat = StringSplit ($ Rez, '|')

Функция func_3 ()

$ aRet = 15 & '|' & 40

Return $ aRet // return array aRet from function

EndFunc

Сунушталууда: