Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.89
Монтгомери
3 / 3 / 0
Регистрация: 10.09.2013
Сообщений: 116
#1

Как узнать размер массива - C++

16.06.2014, 20:29. Просмотров 3753. Ответов 6
Метки нет (Все метки)

В задаче нужно для решения узнать размер массива.
Если sizeof() возвращает кол-во занятой памяти в байтах, и sizeof(char)=2, то
C++
1
размерность_массива_char=sizeof(массив_из_char)/2
Я всё правильно понял?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.06.2014, 20:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как узнать размер массива (C++):

Как узнать размер массива? - C++
Имею функцию template <typename T> int funk(T mas, T element) { //kod }

Как узнать размер массива? - C++
Нужно узнать размер введенного пользователем массива, но sizeof() почему-то не работает, помогите пожалуйста разобраться! int...

Как узнать размер массива в динамической памяти? - C++
Добрый вечер еще раз! Напишите пожалуйста как можно узнать истинный размер массива, находящегося в динамической памяти, созданными при...

Узнать размер массива - C++
есть 2 указателя на первый элемент массива и указатель на элемент после последнего можно ли как-то узнать размер этого массива не...

Узнать размер динамического массива - C++
Здравствуйте. Пытаюсь сделать динамический массив и вывести его размерность. Выводится размерность = 4, подскажите пожалуйста где я...

Узнать размер массива строк string - C++
Есть массив строк string. Например, {"asd", "qwe", "zxc"} Как узнать его размеры? через .length(), .size(), sizeof(str)/sizeof(str)...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
anastasiya_404
39 / 40 / 6
Регистрация: 09.06.2014
Сообщений: 133
16.06.2014, 20:41 #2
Для массива int-ов, например, размер можно узнать следующим образом:
C++
1
2
3
int array[] = {1, 3, 5, 7, 4, 6, 7, 8, 13, 34};
int result = sizeof(array)/sizeof(int);
printf("%i", result);
SlavaSSU
215 / 160 / 45
Регистрация: 17.07.2012
Сообщений: 587
16.06.2014, 20:59 #3
универсальный метод)))


C++ (Qt)
1
int len = sizeof(array) / sizeof(array[0]);
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
16.06.2014, 21:07 #4
Цитата Сообщение от Монтгомери Посмотреть сообщение
и sizeof(char)=2
sizeof(char) == 1 по определению. И не может быть другим.
Для массивов на стеке можно ещё и так посчитать:
C++
1
sizeof(array) / sizeof(*array);
Монтгомери
3 / 3 / 0
Регистрация: 10.09.2013
Сообщений: 116
16.06.2014, 21:15  [ТС] #5
Цитата Сообщение от Tulosba Посмотреть сообщение
sizeof(char) == 1
Просто тут по таблице смотрел: http://msdn.microsoft.com/ru-ru/library/eahchzkf.aspx
Видимо, понял неправильно -_-
В любом случае, всем спасибо
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
16.06.2014, 21:18 #6
Цитата Сообщение от Монтгомери Посмотреть сообщение
Просто тут по таблице смотрел: http://msdn.microsoft.com/ru-ru/library/eahchzkf.aspx
А заголовок не смутил?
sizeof (C# Reference)
Монтгомери
3 / 3 / 0
Регистрация: 10.09.2013
Сообщений: 116
16.06.2014, 21:35  [ТС] #7
Цитата Сообщение от Tulosba Посмотреть сообщение
А заголовок не смутил?
Да как-то не заметил
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.06.2014, 21:35
Привет! Вот еще темы с ответами:

Узнать размер (количество) массива объектов класса - C++
Допустим, у меня есть такой массив объектов: TGameEnemy enemies = { TGameEnemy(), TGameEnemy(), TGameEnemy() }; Мне необходимо...

как узнать размер строки? - C++
есть массив указателей string **str на объекта класс string; как узнать размер строки, записанной, например, в *str?

Как узнать размер двумерного вектора? - C++
есть квадратная матрица. Для ее хранения создаю динамический массив: double **matrix = new double*; for (int i = 0; i < range; i++) ...

Как узнать размер открытого файла - C++
#include <iostream> #include <fstream> #include <windows.h> #include <cstdlib> #include <stdio.h> using namespace std; ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
16.06.2014, 21:35
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru