Вопросы с тегом 'sizeof'

sizeof ссылается на стандартный оператор C/С++ для возврата размера в байтах выражения или типа данных.
11
ответов

Почему размер sizeof для структуры не равен сумме sizeof каждого члена?

Почему оператор sizeof возвращает размер, более крупный для структуры, чем общие размеры элементов структуры?
задан 23 сент. '08 в 7:24
11
ответов

Как определить размер объекта в Python?

В C мы можем найти размер int, char и т.д. Я хочу знать, как получить размер объектов, таких как строка, целое число и т.д. в Python. Связанный вопрос: Сколько байтов на элемент присутствует в списке Python (tuple)? Я использую XML файл, который с...
задан 16 янв. '09 в 8:07
8
ответов

Почему sizeof (x ++) не увеличивает x?

Вот код, скомпилированный в dev С++: #include <stdio.h> int main() { int x = 5; printf("%d and ", sizeof(x++)); // note 1 printf("%d\n", x); // note 2 return 0; } Я ожидаю, что x будет 6 после выполнения note 1. Однако вых...
задан 22 нояб. '11 в 14:07
16
ответов

Как найти "sizeof" (указатель, указывающий на массив)?

Прежде всего, вот какой код: int main() { int days[] = {1,2,3,4,5}; int *ptr = days; printf("%u\n", sizeof(days)); printf("%u\n", sizeof(ptr)); return 0; } Есть ли способ узнать размер массива, на который указывает ptr (вмес...
задан 29 янв. '09 в 19:33
19
ответов

Как получить размер объекта JavaScript?

Я хочу знать размер, занимаемый объектом JavaScript. Возьмем следующую функцию: function Marks(){ this.maxMarks = 100; } function Student(){ this.firstName = "firstName"; this.lastName = "lastName"; this.marks = new Marks(); } Теперь я с...
задан 08 авг. '09 в 10:58
17
ответов

Является ли sizeof (некоторый указатель) всегда равным четырем?

Например: sizeof(char*) возвращает 4. Как и int*, long long*, все, что я пробовал. Есть ли исключения из этого?
задан 30 дек. '09 в 2:03
7
ответов

Почему sizeof (a? True: false) дает выход из четырех байтов?

У меня есть небольшой фрагмент кода о операторе sizeof с тернарным оператором: #include <stdio.h> #include <stdbool.h> int main() { bool a = true; printf("%zu\n", sizeof(bool)); // Ok printf("%zu\n", sizeof(a)); // Ok ...
задан 30 окт. '17 в 11:37
4
ответов

Почему sizeof (my_arr) [0] компилируется и равен sizeof (my_arr [0])?

Почему этот код компилируется? _Static uint32_t my_arr[2]; _Static_assert(sizeof(my_arr) == 8, ""); _Static_assert(sizeof(my_arr[0]) == 4, ""); _Static_assert(sizeof(my_arr)[0] == 4, ""); Первые два утверждения, очевидно, правильны, но я ожидал, ч...
задан 09 окт. '17 в 22:09
4
ответов

Определяется ли sizeof (bool)?

Я не могу найти ответ в стандартной документации. Является ли sizeof(bool) всегда 1-байтовым, или это реализация определена?
задан 04 февр. '11 в 15:15
13
ответов

Почему размер массива не такой же, как и у основного?

Почему размер массива, отправленного как параметр, не совпадает с основным? #include <stdio.h> void PrintSize(int p_someArray[10]); int main () { int myArray[10]; printf("%d\n", sizeof(myArray)); /* As expected, 40 */ PrintSize(m...
задан 29 дек. '10 в 18:12
4
ответов

Почему я получаю предупреждение каждый раз, когда я использую malloc?

Если я использую malloc в своем коде: int *x = malloc(sizeof(int)); Я получаю это предупреждение от gcc: new.c: 7: предупреждение: неявное объявление функции 'malloc new.c: 7: warning: несовместимое неявное объявление встроенной функции 'mall...
задан 05 авг. '09 в 2:15
3
ответов

Почему sizeof int неверен, а sizeof (int) прав?

Мы знаем, что sizeof - это оператор, используемый для вычисления размера любого типа данных и выражения, а когда операнд является выражением, круглые скобки могут быть опущены. int main() { int a; sizeof int; sizeof( int );...
задан 29 окт. '12 в 14:11
11
ответов

Почему C символьных литералов ints вместо символов?

В С++, sizeof('a') == sizeof(char) == 1. Это делает интуитивный смысл, поскольку 'a' является символьным литералом и sizeof(char) == 1, как определено стандартом. В C, однако, sizeof('a') == sizeof(int). То есть, похоже, что C-символьные литералы...
задан 12 янв. '09 в 1:43
3
ответов

Существуют ли машины, где sizeof (char)!= 1 или, по крайней мере, CHAR_BIT> 8?

Существуют ли машины (или компиляторы), где sizeof(char) != 1? Знает ли стандарт C99, что sizeof(char) при стандартном выполнении соответствия ДОЛЖНО быть ровно 1? Если да, пожалуйста, дайте мне номер раздела и цитату. Обновление: Если у меня е...
задан 07 февр. '10 в 4:02
4
ответов

Почему размер функции в C всегда 1 байт?

Когда мы проверяем размер функции с помощью sizeof(), мы всегда получаем 1 байт. Что означает этот 1 байт?
задан 04 сент. '12 в 10:58