Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
63 / 3 / 1
Регистрация: 11.05.2011
Сообщений: 666
1

Почему переменная занимает именно столько байт?

20.11.2011, 15:01. Показов 1776. Ответов 9
Метки нет (Все метки)

Вычислите значение переменной size после выполнения кода программы на языке Turbo-C (модель памяти SMALL):

C
1
2
3
int x[ ]={3, -7, 0};
int size;
size=sizeof(x);
Почему size=12?
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.11.2011, 15:01
Ответы с готовыми решениями:

Сколько байт занимает символ и почему?
Добрый день, уважаемые форумчане. Всем известно что sizeof(char) == 1 .Заметил, что...

Предположим, что переменная типа CHAR занимает 1 байт, переменная типа INTEGER занимает два байта
Предположим, что переменная типа CHAR занимает 1 байт, переменная типа INTEGER занимает два байта,...

Почему именно столько?
Почему при умножении матриц именно столько умножений и сложений. Распишите подробно, пожалуйста.

Почему в этой строке столько байт?
Всем, привет! Вопрос туповатый, но все же объясните пожалуйста, почему эта строка 9701879999F9...

9
2553 / 1318 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
20.11.2011, 15:03 2
А чего вы ожидали?
0
Эксперт С++
4259 / 2233 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
20.11.2011, 15:06 3
Потому что это массив:
3*4=12
3 элемента массива по 4 байта каждый (бывает int и по 2 байта)
0
63 / 3 / 1
Регистрация: 11.05.2011
Сообщений: 666
20.11.2011, 15:08  [ТС] 4
Цитата Сообщение от Thinker Посмотреть сообщение
Потому что это массив:
3*4=12
А элемент массива занимает 4 байта? оО
0
Эксперт С++
4259 / 2233 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
20.11.2011, 15:09 5
Цитата Сообщение от Johnlion Посмотреть сообщение
А элемент массива занимает 4 байта? оО
В данном случае да
0
5203 / 3176 / 358
Регистрация: 12.12.2009
Сообщений: 8,033
Записей в блоге: 2
20.11.2011, 15:09 6
Цитата Сообщение от Johnlion Посмотреть сообщение
А элемент массива анимает 4 байта? оО
C
1
printf("%d", sizeof(*x));
0
63 / 3 / 1
Регистрация: 11.05.2011
Сообщений: 666
20.11.2011, 15:22  [ТС] 7
Цитата Сообщение от Thinker Посмотреть сообщение
В данном случае да
А как определять, когда 4 байта, когда не 4? И какие бывают размеры, кроме 4-х?
0
2553 / 1318 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
20.11.2011, 15:29 8
Johnlion, Google + типы данных C++
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
 
int main()
{
    std::cout << sizeof(char)        << std::endl;
    std::cout << sizeof(bool)        << std::endl;
    std::cout << sizeof(short)       << std::endl;
    std::cout << sizeof(int)         << std::endl;
    std::cout << sizeof(long)        << std::endl;
    std::cout << sizeof(double)      << std::endl;
    std::cout << sizeof(long long)   << std::endl;
    std::cout << sizeof(long double) << std::endl;
    return 0;
}
Далее по аналогии

Добавлено через 2 минуты
C
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
 
int main(void)
{
  printf("%d\n", sizeof(char));
  printf("%d\n", sizeof(short));
  printf("%d\n", sizeof(int));
  printf("%d\n", sizeof(long));
  printf("%d\n", sizeof(double));
  printf("%d\n", sizeof(long double)); 
  return 0;
}
0
go
Эксперт С++
3644 / 1376 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
20.11.2011, 16:10 9
Цитата Сообщение от Johnlion Посмотреть сообщение
А как определять, когда 4 байта, когда не 4? И какие бывают размеры, кроме 4-х?
int в основном 2, в Microsoft Visual Studio 4 байта
0
5203 / 3176 / 358
Регистрация: 12.12.2009
Сообщений: 8,033
Записей в блоге: 2
20.11.2011, 16:14 10
Цитата Сообщение от go Посмотреть сообщение
int в основном 2
В основном 4. 2 байта это скорее редкость.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.11.2011, 16:14

Почему переменная типа bool весит 1 байт?
Всем доброго времени суток! Не подскажете, почему булеан весит 1 байт если он имеет всего два...

Вводим букву, выводим ее столько раз, какое место она занимает в алфавите
Очередное задание, которое мне пока не под силу, Пользователь вводит значение Char проверить...

После поворота TextView занимает столько же места как и до поворота
собственно как поворачивать средствами xml или в коде я знаю. Проблема в другом при повороте...

Сколько байт занимает один символ BigInteger?
Думаю, для записи одной цифры достаточно 4 бита. Но так ли это в BigInteger? Сколько байт/бит...


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

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

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