>Как вместо (int* Arr правильно обозначить массив?
а как вы его инициализировали?
это указатель на область памяти со значениями массива
и лучше так
int length = sizeof(Arr) / sizeof(int);
посмотрите, чем у вас равен length
далее. . умножать int на float и приведить к int - у вас будет потеря точности (например 34*100.0 даст, скорее всего, 3399)
>т. е. int *Arr видит не как массив, а только его первое число
значит передаете не так или не так определяете массив - говорю же, покажите как определяете его и как вызываете функцию
>Определил как обычный массив:
дык. . по одному указателю размер то узнать нельзя
указатель указывает на начало области памяти, где хранится информация
сколько она занимает - из указателя не выяснить.
Другие языки программирования и технологии
Массив как аргумент функции C++
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
void chg_arr (float *arr, size_t arr_size, float coef)
{
size_t i;
for (i = 0; i < arr_size; i++ )
arr[ i ] = arr[ i ] * coef;
}
int main (void)
{
int j = 0;
size_t arr_size = 10, i = 0;
float *arr = (float *) malloc (sizeof(float) * arr_size);
for (; i < arr_size; i++)
{
j = j + 2;
arr[ i ] = j;
printf("%6.1f", arr[ i ]);
}
chg_arr(arr, arr_size, 3.4);
putch('\n');
for (i = 0; i < arr_size; i++)
printf("%6.1f", arr[ i ]);
getch();
return 0;
}
#include <conio.h>
#include <stdlib.h>
void chg_arr (float *arr, size_t arr_size, float coef)
{
size_t i;
for (i = 0; i < arr_size; i++ )
arr[ i ] = arr[ i ] * coef;
}
int main (void)
{
int j = 0;
size_t arr_size = 10, i = 0;
float *arr = (float *) malloc (sizeof(float) * arr_size);
for (; i < arr_size; i++)
{
j = j + 2;
arr[ i ] = j;
printf("%6.1f", arr[ i ]);
}
chg_arr(arr, arr_size, 3.4);
putch('\n');
for (i = 0; i < arr_size; i++)
printf("%6.1f", arr[ i ]);
getch();
return 0;
}
Похожие вопросы
- Задача по C++ Не могу придумать как одновременно записывать в массив и считать функцию.
- Вывести название массива с помощью char, C++
- Как передать значение массива в аргумент? (ПЕРЕЗАЛИВ) с++
- Почему в C++ передача аргумента функции по значению считается более быстрой, чем по ссылке?
- Как определить размер массива в процессе ввода? C++
- Создание объекта внутри функции C++
- Правильно ли я понимаю, что вывод массива на экран в c++ возможен только через перебор элементов?
- Помогите пожалуйста переделать сей код под указатели и потом под функцию C++
- C++ Везде написано, что sizeof() с массивом в качестве аргумента возвращает полный размер. А в данной функции не так.
- С++.Дан одномерный числовой массив. Написать функции.