Задать вопрос
Этот вопрос закрыт для ответов, так как повторяет вопрос Диапазон типов данных C++?

Почему размер int такой?

Почему размер int не является размером машинного слова?
В чем смысл 32 битного int на x86_64?
Почему в Си и С++ размер int плавающий?
В D и Rust размер int определен стандартом.
  • Вопрос задан
  • 280 просмотров
Подписаться 1 Простой
Решения вопроса 1
Кажется, смысла тут никакого нет - просто вот так исторически сложилось. C и C++ языки не очень молодые и предполагают работу практически на всех существующих архитектурах процессоров, по тому размер определяется реализацией.
В том же rust есть usize/isize, который тоже зависит от архитектуры.

Если нужно, чтобы размер типа был заранее известен - используй всякие int8_t, int32_t и так далее.
Ответ написан
Ответы на вопрос 2
CityCat4
@CityCat4 Куратор тега C
//COPY01 EXEC PGM=IEBGENER
Так много, друг Горацио, на свете, что и не снилось нашим мудрецам...

С работает на разных платформах и даже на разных архитектурах. И размер int в этих платформах и архитектурах - он - внезапно - разный!

А работает ли там модно-стильно-молодежный Rust - я не знаю :) Я уже столько этих "убийц С" перевидал :)
Ответ написан
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
int зависит от разрядности
4
8
16
32
64
128
512
зы в отличии от недоязыков C и C++ задумывались переносимыми на все платформы
так что он всегда плавающий, как и указатели просто проимите это
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы