Как выделить память для данных в Паскале
Использование системных команд в С++
Как создать каталог в Паскале с помощью процедуры MkDir
Практическое руководство по адаптивной вёрстке с помощью новой технологии CSS Grid
Как в Паскале преобразовать текст в строку с маленькими буквами

Как стать успешным фрилансером
Раздел: Как стать программистом / Секреты программирования /
Как передать массив в функцию
![]() |
Все способы изучить Python
Каждый раз, изучая какую-то новую науку, мы задаёмся вопросом - где взять обучающие материалы. Конечно, сегодня нам помогает в этом Интернет. Но иногда на поиски уходит очень много времени, а нужного результата мы не получаем... Собрал для вас кучу полезных ссылок для изучения Python. не благодарите ))) Подробнее... |
Если вы начинающий программист, но уже не совсем новичок, и знаете, что такое подпрограммы, то вы также знаете, что в эти подпрограммы можно передавать параметры.
И, продолжая изучать программирование, вы неизбежно столкнётесь с необходимостью передавать в подпрограммы параметры, которые представляют собой сложные типы данных, такие как массивы.
И очень часто, пытаясь передать массив в процедуру или функцию, новички сталкиваются с очень неприятным для них случаем - они просто не могут это сделать. Потому что вот такая попытка:
function TestFunc(M : array[1..8] of Byte) : boolean;
окажется неудачной - программа не будет создана, а компилятор выдаст ошибку:

В чём же дело?
А дело в том, что передавать массивы в подпрограммы таким образом нельзя!
Как же быть? Не отказываться же от этого? Ведь передавать массивы в подпрограммы приходится довольно часто!
Но как это сделать?
Есть два способа:
- Передать в функцию указатель на массив.
- Создать новый тип данных.
Первый способ рассматривать не будем, потому что для новичка он может оказаться малопонятным. Если кому любопытно, то у меня есть книга, посвящённая указателям.
Рассмотрим второй способ. Он очень прост - надо создать пользовательский тип данных, и передавать в функцию уже параметр, имеющий этот тип. И таким образом передать массив в функцию в Паскале, Delphi, Lazarus (да и в большинстве других языков программирования) можно очень даже легко:
program test; type TMas = array[1..8] of Byte; //Создаём новый тип var GM : TMas; //Переменная нового типа //Теперь мы можем передать массив в функцию function TestFunc(M : TMas) : boolean; begin Result := TRUE; end; begin TestFunc(GM); ReadLn; end.
Подписаться на канал в RuTube
Вступить в группу "Основы программирования" Подписаться на рассылки по программированию |
![]() |
Директивы компилятора
Как это ни странно, но даже многие опытные программисты не используют директивы компилятора, считая их чем-то ненужным и бесполезным. А между тем, директивы компилятора - это очень классная штука. Если их умело применять в своих программах, то можно существенно сократить время на разработку и уменьшить количество рутинных операций. Подробнее... |