Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Изменять содержимое массивов в функции 
:(
    Опции темы
Abbath1349
Дата 15.7.2012, 21:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 214
Регистрация: 16.6.2010

Репутация: нет
Всего: нет



Подскажите как сделать,чтобы массив после обработки функцией изменялся с переменными это можно делать с помощью ссылок, можно ли как нибудь сделать с массивом (с функцией void и без глобальных переменных)
PM MAIL   Вверх
KaZepKa
Дата 15.7.2012, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 29.10.2011

Репутация: нет
Всего: нет



В функцию указатель на массив(т.е на 1ый элемент) передаешь, не?
PM MAIL   Вверх
volatile
Дата 15.7.2012, 23:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 37
Всего: 85



Цитата(Abbath1349 @  15.7.2012,  21:31 Найти цитируемый пост)
Подскажите как сделать,чтобы массив после обработки функцией изменялся

Если размер массива фиксированный, можно и ссылку на массив передать, и указатель на массив. (не на первый элемент, а именно на массив)

А если размер не фиксированный, то лучше вообще задействовать STL, он для того и придуман.

Добавлено через 3 минуты и 39 секунд
Вобщем массив можно передать тремя способами.
1. указатель на первый элемент
2. ссылка на массив
3. указатель на массив


PM MAIL   Вверх
feodorv
Дата 16.7.2012, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2214
Регистрация: 30.7.2011

Репутация: 11
Всего: 45



Код

#include <stdio.h>

void func( unsigned int *mass, unsigned int size)
{
  unsigned int i;

  if( size >= 1 ) mass[0] = 1;
  if( size >= 2 ) mass[1] = 1;

  for( i = 2; i < size; i++)
    mass[i] = mass[i-1] + mass[i-2];
}

int main( void )
{
  unsigned int fib[30];
  unsigned int i;

  for( i = 0; i < 30; i++) fib[i] = 0;
  func( fib, 30);
 
  for( i = 0; i < 30; i++) printf( "%3u: %u\n", i+1, fib[i]);
}



--------------------
Напильник, велосипед, грабли и костыли - основные инструменты программиста...
PM MAIL   Вверх
borisbn
Дата 16.7.2012, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 22
Всего: 135



Abbath1349, про какой язык речь ? Про Си или про Си++ ?


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
feodorv
Дата 16.7.2012, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2214
Регистрация: 30.7.2011

Репутация: 11
Всего: 45



Цитата(borisbn @  16.7.2012,  14:59 Найти цитируемый пост)
Abbath1349, про какой язык речь ? Про Си или про Си++ ? 

Цитата(Abbath1349 @  15.7.2012,  22:31 Найти цитируемый пост)
с помощью ссылок

Похоже, C++.


--------------------
Напильник, велосипед, грабли и костыли - основные инструменты программиста...
PM MAIL   Вверх
borisbn
Дата 16.7.2012, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 4875
Регистрация: 6.2.2010
Где: Ростов-на-Дону

Репутация: 22
Всего: 135



Цитата(feodorv @  16.7.2012,  16:11 Найти цитируемый пост)
Похоже, C++. 

в таком случае полностью поддерживаю volatile
Цитата(volatile @  15.7.2012,  23:34 Найти цитируемый пост)
 лучше вообще задействовать STL, он для того и придуман

ну, а для Си Вы уже привели


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0610 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.