|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
08.02.2009, 13:32 | #1 |
Александр
Администратор
Регистрация: 28.10.2006
Сообщений: 17,600
|
Передача массивов в функции. Си
Ваши программы будут передавать массивы в функции точно так же, как и любые другие переменные. Функция может инициализировать массив, прибавить к массиву значения или вывести элементы массива на экран. Когда вы передаете массив в функцию, вы должны указать тип массива. Нет необходимости указывать размер массива. Вместо этого вы передаете параметр например number_of_elements, который содержит количество элементов в массиве:
Код:
Код:
Код:
Код:
http://programmersclub.ru/16/ Последний раз редактировалось MaTBeu; 08.02.2009 в 14:58. |
08.02.2009, 14:15 | #2 |
Александр
Администратор
Регистрация: 28.10.2006
Сообщений: 17,600
|
void - это это процедура, если нужна функция в классическом понимании необходимо вместо void указывать тип возвращаемого результата, например float или int.
|
08.02.2009, 15:49 | #3 |
Участник клуба Подтвердите свой е-майл
Регистрация: 14.12.2007
Сообщений: 1,434
|
еще можно использовать передачу не самого массива, а указателя на него
Код:
Проповедую design patterns, верую в MVC, доверяю eXtrime programming.
|
08.02.2009, 16:01 | #4 |
Форумчанин
Регистрация: 06.12.2008
Сообщений: 613
|
массив на языке си всегда передается по адресу его первого элемента, поэтому программист должен всегда передавать адрес его первого элемента, если он статический ( указатель или ссылка ) и указатель на первый элемент, если он динамический
Последний раз редактировалось capta1n; 08.02.2009 в 16:03. |
11.02.2009, 23:58 | #5 |
Форумчанин
Регистрация: 26.12.2008
Сообщений: 146
|
А обязательно длину массива передавать? Разве в си нет чтото типа .length?
"Hello, world!" - 17 errors 56 warnings
|
12.02.2009, 00:26 | #6 |
Eclipse Foundation
Старожил
Регистрация: 19.09.2007
Сообщений: 2,604
|
Нет. Такого нету. Надо передавать размерность массива. Lenght - это удел пользовательских классов. В чистом Си такого нет.
|
02.05.2010, 21:41 | #7 |
Новичок
Джуниор
Регистрация: 02.05.2010
Сообщений: 1
|
сделать по аналоги с одномерным массивом двумерный не удаётся.
С чем связано? подскажите пожалуйста.. |
02.05.2010, 22:06 | #8 |
Пользователь
Регистрация: 06.11.2009
Сообщений: 68
|
Чтобы двумерный передать, надо записать что-то вроде
void show_array (int **array , int rows, int cols) rows и cols - количество строк и столбцов соответственно |
08.02.2011, 11:10 | #9 | |
Регистрация: 08.02.2011
Сообщений: 3
|
Цитата:
Код:
Последний раз редактировалось maxmun; 08.02.2011 в 13:59. |
|
08.02.2011, 11:23 | #10 |
:D
Форумчанин
Регистрация: 26.09.2010
Сообщений: 570
|
Код:
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
пересечение массивов на С++ | drakon803 | Помощь студентам | 4 | 09.12.2012 10:29 |
использование массивов! | ...Оленька... | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 22.12.2008 11:02 |
Передача функции TServerSocket и TFileStream | dns-s | Работа с сетью в Delphi | 2 | 26.03.2008 21:15 |