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

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

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

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

Как определить размер объекта в 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
18 отв.

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

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

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

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

Я не могу найти ответ в стандартной документации. Требует ли стандарт языка C++, чтобы sizeof(bool) всегда был 1 (для 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