0 / 0 / 0
Регистрация: 18.06.2016
Сообщений: 1
1

Определение длины массива в C++ в функции

18.06.2016, 17:36. Показов 3922. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Почему sizeof() в методе main() выдает размер всех элементов массива 16, а при вызове из метода DisplayArray() тот же sizeof() выдает размер всех элементов того же массива, переданного в качестве параметра, 4?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
using namespace std;
 
void DisplayArray(int Numbers[])
{
    cout << "sizeof(MyNumbers) from function is: " << sizeof(Numbers) << endl;
    cout << "sizeof(MyNumbers[0]) from function is: " << sizeof(Numbers[0]) << endl;
    cout << "Length of MyNumbers from function is: " << sizeof(Numbers) / sizeof(Numbers[0]) << endl;
    for (int Index = 0; Index < (sizeof(Numbers) / sizeof(Numbers[0])); ++Index)
    {
        cout << Numbers[Index] << " ";
    }
   cout << endl;
}
 
int main()
{
   int MyNumbers[4] = {24, 58, -1, 245};
   cout << "sizeof(MyNumbers) is: " << sizeof(MyNumbers) << endl;
   cout << "sizeof(MyNumbers[0]) is: " << sizeof(MyNumbers[0]) << endl;
   cout << "Length of MyNumbers is: " << sizeof(MyNumbers) / sizeof(MyNumbers[0]) << endl;
   cout << endl;
 
   DisplayArray(MyNumbers);
 
   return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.06.2016, 17:36
Ответы с готовыми решениями:

Открытые функции класса: ввод массива, вывод массива, определение длины вектора
Данные класса: массив N(10). Открытые функции класса: ввод массива, вывод массива, определение...

Определение длины одномерного массива
Помогите пожалуйста написать программу с подробным обьяснением:Определение длины одномерного...

Определение длины одномерного массива
ЗАДАНИЕ 2. Определение длины одномерного массива В функции main описан (без указания количества...

Разбор строки и определение длины массива
есть строка: 12;04;02;03;07;08;13; 04;-1443063516;02;03;07;08;13; Как видите переменной длинны,...

1
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,737
Записей в блоге: 1
18.06.2016, 17:41 2
Цитата Сообщение от corridda Посмотреть сообщение
размер всех элементов того же массива, переданного в качестве параметра, 4?
потому что Вы передаете не массив, а указатель.
Т.е. Numbers - это int*.
Поэтому sizeof выдает размер указателя.
1
18.06.2016, 17:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.06.2016, 17:41
Помогаю со студенческими работами здесь

Определение длины массива во время программы
Допустим нужно создать программу при которой вводится чило n&gt;=100 и после вводятся натуральные...

Определение длины массива при использовании LINQ
Здравствуйте, форумчане, проблема с определением длины массива после сортировки с помощью языка...

Определение размера массива в функции
Всем доброго дня ! Подскажите пожалуйста, как можно определить размер массива в функции ? ...

Как четность длины массива влияет на результат рекурсивной функции?
Задание: &quot;Задан динамический массив целых чисел. Данные вводятся с клавиатуры. Подсчитать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru