Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.90/10: Рейтинг темы: голосов - 10, средняя оценка - 4.90
Kristina_S
4 / 1 / 0
Регистрация: 09.10.2015
Сообщений: 187
#1

Sizeof

29.11.2015, 16:12. Просмотров 1850. Ответов 7
Метки нет (Все метки)

C++
1
int a[] = { 1, 2, 3, 4 },n = sizeof(a) / sizeof(a[0]);
Битый час разбираюсь с этой строкой,но понять не могу.
Мы делим массив "a" на 0-вой элемент в битах,ответ будет в битах или как?
Объясните пожалуйста простым языком
Спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.11.2015, 16:12
Ответы с готовыми решениями:

Sizeof(.) или constexpr size_t tmp = sizeof(.)
sizeof(...) или constexpr size_t tmp = sizeof(...) Как лучше с точки зрения...

Fwrite (buffer , sizeof(char), sizeof(buffer), pFile)
как записать часть массива чаров? допустим у нас arr; мне надо записать с...

sizeof( char * ) & sizeof(char)
Здравствуйте, не могу понять почему sizeof(char *) = 4 а sizeof(char) = 1. Ну...

sizeof
Подскажите пожалуйста что делаю не так? в базовом классе gameElement,...

sizeof()
Ребята,объясните пожалуйста для чего нужен sizeof()?А то в книге очень заумно...

7
ilja123
43 / 43 / 6
Регистрация: 24.12.2009
Сообщений: 424
29.11.2015, 16:27 #2
sizeof(a) дает, сколько байт занимает весь массив. В данном случае 16 байт (4 элемента по 4 байта)

sizeof(a[0]) - сколько байт занимает 1 элемент массива. В данном случае 4 байта

В вашем примере вы делите 16\4 и получаете n = 4
0
RAFA91
Заблокирован
29.11.2015, 16:46 #3
Цитата Сообщение от ilja123 Посмотреть сообщение
по 4 байта
было время когда и 2 байт было.
0
_Ivana
3233 / 1861 / 235
Регистрация: 01.03.2013
Сообщений: 5,091
Записей в блоге: 5
29.11.2015, 18:06 #4
Цитата Сообщение от Kristina_S Посмотреть сообщение
Мы делим массив "a" на 0-вой элемент в битах,ответ будет в битах или как?
Объясните пожалуйста простым языком
Мы делим значение некоей функции от одного аргумента на значение ее же от другого аргумента - следовательно, ответ у нас будет в разах, естественно безразмерных: во сколько раз числитель больше знаменателя.
0
RAFA91
Заблокирован
29.11.2015, 18:10 #5
Цитата Сообщение от _Ivana Посмотреть сообщение
естественно безразмерных
байт делишь на байт

размер массива = к-во эл * размер одного элемента отсюда

к-во эл = размер массива / размер одного элемента

с динамическим массивом уже не прокатит
0
_Ivana
3233 / 1861 / 235
Регистрация: 01.03.2013
Сообщений: 5,091
Записей в блоге: 5
29.11.2015, 18:13 #6
Цитата Сообщение от RAFA91 Посмотреть сообщение
байт делишь на байт
так не бывает Паровоз на паровоз в математике не делится, если не перегрузить (перетрактовать) оператор деления для паровозов. А число на число - вполне. Что я и написал.
0
RAFA91
Заблокирован
29.11.2015, 18:23 #7
Цитата Сообщение от _Ivana Посмотреть сообщение
Паровоз на паровоз в математике не
зато там ты делишь к-во осей во всем составе на к-во осей в одном вагоне что-бы узнать к-во вагонов.
0
_Ivana
3233 / 1861 / 235
Регистрация: 01.03.2013
Сообщений: 5,091
Записей в блоге: 5
29.11.2015, 18:27 #8
Правильно.
Цитата Сообщение от _Ivana Посмотреть сообщение
Что я и написал.
Рад что вы это поняли. Еще немного, и вы возможно поймете смысл моего ответа про размерность отношения величин одной размерности
0
29.11.2015, 18:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.11.2015, 18:27

Sizeof глючит ?
простой пример на вижуал с++2013: #include <iostream> using namespace...

Оператор sizeof
Используя оператор sizeof определите и выведите на экран количество байт,...

Sizeof выражение
Почему при запуске, консоль сразу же закрывается: #include <iostream> int...


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

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

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