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

Почему sizeof для структуры не равен сумме sizeof каждого члена?
Почему оператор sizeof возвращает размер структуры больше, чем общие размеры членов структуры?
225951 просмотров
schedule 05.12.2023

sizeof (int) на x64?
Когда я делаю sizeof(int) в моем проекте C # .NET, я получаю возвращаемое значение 4. Я устанавливаю тип проекта на x64, так почему он говорит 4 вместо 8? Это потому, что я запускаю управляемый код?
34147 просмотров
schedule 05.10.2022

размер объединения в C / C ++
Каков размер объединения в C / C ++? Это размер самого большого типа данных внутри него? Если да, то как компилятор вычисляет, как переместить указатель стека, если активен один из меньших типов данных объединения?
68688 просмотров
schedule 02.01.2024

sizeof один член структуры в C
Я пытаюсь объявить структуру, которая зависит от другой структуры. Я хочу использовать sizeof , чтобы быть безопасным/педантичным. typedef struct _parent { float calc ; char text[255] ; int used ; } parent_t ; Теперь я хочу объявить...
67083 просмотров
schedule 28.01.2024

Размер пустой структуры равен 0 в C и 1 в C ++, почему?
Возможные дубликаты: Пустой класс в C ++ Каков размер пустой структуры в C ? Я где-то читал, что размер пустой структуры в C ++ равен 1. Итак, я подумал о том, чтобы проверить это. К сожалению, я сохранил его как файл C и использовал...
24603 просмотров
schedule 25.12.2023

Как работает sizeof для типов int?
У меня есть небольшая программа, которая сравнивает (1) sizeof, (2) numeric_limits::digits, (3) и результаты цикла чтобы убедиться, что все они сообщают одно и то же о размере «типов int» в любой реализации C++. Однако, поскольку я не знаю о...
1080 просмотров
schedule 29.10.2022

Проблема с длиной массива
Я читал документ о размещении csc, где прочитал вопрос, связанный с оператором sizeof() массива языка c. Ответ был чем-то другим, чем я ожидал. int DIMension(int array[]) { return sizeof(array )/ sizeof(int); } main() { int arr[10];...
379 просмотров
schedule 11.11.2022

Использование sizeof float в шейдере Unity cg
Я пытаюсь написать шейдер для единства с помощью cg, и я хотел бы знать, какая точность у моих поплавков, но я не могу понять, как использовать команду sizeof. Когда я пытаюсь использовать его, я получаю сообщение об ошибке: Shader error in...
341 просмотров
schedule 22.10.2023

Sizeof массивы и указатели
Вот мой пример кода #include<stdio.h> void main() { int arr[]={1,2,3,4,5,6}; char *ptr,a; a='c'; ptr=&a; int *ptr1,a1; a1=4; ptr1=&a1; printf("%d %d %d",sizeof(arr), sizeof(ptr1), sizeof(ptr)); } Теперь, насколько я...
373 просмотров
schedule 02.04.2024

Как оператор С++ sizeof вычисляет размер?
Я создал класс X, имеющий только 2 общедоступные функции (конструктор и деструктор), и с помощью оператора sizeof размер класса становится равным 1. Когда я добавляю закрытый член данных типа char в вышеприведенное объявление класса, размер...
1745 просмотров
schedule 20.12.2023

Что на самом деле хранится в одном байте пустого класса C++?
Если вы создадите объект совершенно пустого класса, его размер будет> 0, как это гарантируется стандартом (для того, чтобы два объекта имели разные адреса). Но меня интересует, что хранится в этом байте (какое-то значение, индекс, адрес)? Есть ли...
235 просмотров
schedule 27.03.2024

Что делает следующая строка кода с malloc?
У меня есть следующая реализация для отражения двоичного дерева. #include<stdio.h> #include<stdlib.h> /* A binary tree node has data, pointer to left child and a pointer to right child */ struct node { int data; struct...
22333 просмотров
schedule 05.12.2022

Нужно ли хранить двойной член структуры по адресу, кратному 8?
Предположим, что sizeof(int) и sizeof(double) равны 4 и 8 соответственно, и перед этим нет команды препроцессора, такой как #pragma pack . следующий код или параметры компилятора с той же функцией, что и #pragma pack , используемые в командной...
70 просмотров
schedule 30.09.2022

Инициализация массивов С++ с указателями, получение размера 8
Я пытаюсь создать двумерный массив на С++, используя метод двойного указателя. Но когда я инициализирую переменную, я всегда получаю, что массив имеет размер 8. Сначала я попробовал это: double** sobel_x; И получил размер 8, а затем, когда...
442 просмотров

Найти правильный размер структуры по указателю без создания объекта?
Извините, если название сбивает с толку. Вот моя структура : struct l_list{ int number; char *name; double value; struct l_list *next; }; typedef struct l_list *PhoneBook; Основная функция: int main(void){...
4309 просмотров
schedule 29.10.2023

Недопустимое применение sizeof для завершения структуры wordcounter
Я пишу программу, которая подсчитывает, сколько раз слово встречается в текстовом файле. Это делается с помощью структуры, которая содержит слово и количество этого слова. Я получаю компиляцию, я получаю сообщение об ошибке: «Неверное...
88 просмотров
schedule 15.11.2022

Гарантирует ли стандарт, что общая память, занимаемая std::vector, масштабируется как C+N*sizeof(T)?
Стандарт C++ гарантирует, что содержимое std::vector хранится непрерывно. Но указано ли, что общая занятая память: S = C+N*sizeof(T) куда: S - это общий размер в стеке И в куче C — общий размер стека: C = sizeof(std::vector) N -...
179 просмотров

почему размер этой структуры неверен
У меня есть этот пример кода, который я украсил пакетом, чтобы убедиться, что его размер составляет 5 байт (4 для int и 1 для char). но он распечатывает, что размер структуры составляет 8 байт. #pragma pack push #pragma pack 1 struct mystruct...
1073 просмотров
schedule 04.10.2022

Для присвоения цикла переполнение в другую переменную
Я пытаюсь использовать цикл for для присвоения значений массиву в C (я использую minGW). Сначала я пробовал делать: double flag[5] = {0.1}; но это присвоило только первой переменной в массиве значение 0,1. Затем я попытался выполнить цикл...
149 просмотров
schedule 18.02.2024

Почему размер символьного литерала в C отличается от размера в C ++
Я знаю, что каждый литерал в C и C ++ получает информацию о конкретном типе. Я написал эту небольшую программу на C и скомпилировал ее в Visual Studio 2012. Исходный файл называется main.c. #include <stdio.h> int main() {...
960 просмотров
schedule 23.11.2022