С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Передача массива в функцию в качестве параметра - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вывести в новый файл список студентов, удалив из него студентов окончивших школу в текущем году. http://www.cyberforum.ru/cpp-beginners/thread1239489.html
На основе данных входного файла составить список студентов группы, включив следующие данные: ФИО, год рождения, домашний адрес, какую школу окончил. Вывести в новый файл список студентов, удалив из...
C++ Приписать значок € Вот код программы: #include <iostream> int main() { double a=0, b=0, c=0; std::cout << " Enter the width of the picture "; std::cin >> a; std::cout << " Enter the length of the... http://www.cyberforum.ru/cpp-beginners/thread1239477.html
C++ Функция для вывода числа с заданной точностью
Вот то, что придумал, но выводит число, как оно было введено. Возможно setprecision так не работает? /* 2.Написать функцию, которая принимает в качестве параметров вещественное число и количество...
C++ Своя иконка для приложения
Как загрузить свою иконку в програму?
C++ Переписать визуальный проект в консольное приложение: Обход конем всех клеток шахматного поля. http://www.cyberforum.ru/cpp-beginners/thread1239448.html
Приветствую друзья!Прошу помощи у экспертов, т.к. ООП почти не изучал. Дана программа с исходниками и исполняемым файлом, рабочая, но с объектами на форме. Требуется перевести её в исполняемый файл...
C++ Как сделать в приложении С++ русский язык? Здравствуйте, уважаемые программисты! Не могли бы вы мне помочь? Мне 11 лет, и я учусь программировать на С++. В своих программах я вынужден писать по-английски, потому-что если писать по-русски... подробнее

Показать сообщение отдельно
DrOffset
7377 / 4454 / 1009
Регистрация: 30.01.2014
Сообщений: 7,304
07.08.2014, 19:32
Цитата Сообщение от takhvatulin Посмотреть сообщение
Да? А почему у меня получилось?) Или Вы не знаете что такое параметры функции?
Массив в С и С++ - это не объект первого класса. Его нельзя копировать по значению (только поэлементно), поэтому в языках С и С++ тип массива в параметрах функции приводится к указателю на тот же тип. Легко проверить таким кодом:
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <cstdio>
 
void f(int a[256]) // подразумевается f(int * a)
{
    printf("sizeof: %d\n", sizeof(a)); // как правило здесь будет 4, размер указателя на х86
}
 
int main()
{
    int a[256] = {};
    f(a);
}
Ссылка на онлайн компилятор.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.