Описание тега sizeof

NoneSizeof относится к стандартному оператору C/C++ для возврата размера в байтах выражения или типа данных.
3 ответа

Что sizeof(*v) означает в C?

У меня есть кусок кода, как это: struct mystruct *v; size_t sz; sz = sizeof(*v); Какие sz как ожидается?Какая разница с sizeof(struct mystruct)?Какой смысл иметь sz в стеке (вместо, например, #define)?
03 сен '15 в 08:36
3 ответа

Рассчитать длину строки в C

Я написал эту функцию для расчета длины NULL прекращенный указатель на символ size_t strlen(char* char_ptr) { size_t len ​​= 0; while (*(char_ptr++)!= '\0') { ++ Len; } возврат лен; } И работает нормально, но очень медленно по сравнению с strlen(), …
13 фев '14 в 15:15
7 ответов

"C" sizeof с типом или переменной

Недавно кто-то заметил, что другие пользователи рекомендуют использовать sizeof var вместо sizeof(type). Я всегда думал, что это просто выбор стиля. Есть ли существенная разница? Например, строки с f и ff считались лучше, чем строки с g и gg: typede…
17 дек '08 в 00:13
6 ответов

Размер шаблона вариации (сумма размеров всех элементов)

Учитывая следующую функцию: template<typename... List> inline unsigned int myFunction(const List&... list) { return /* SOMETHING */; } Что проще всего поставить вместо /* SOMETHING */ чтобы вернуть сумму sizeof все аргументы? Например myFu…
01 окт '12 в 02:05
4 ответа

Оценка операнда в размере оператора

Поскольку оператор sizeof оценивает операнд, если это VLA, я попытался проверить его следующим образом: #include<stdio.h> int main(void) { int sz=20,i=0,j=0; int arr[sz]; printf("%d\n",sizeof((++i,sz))); printf("%d\n",sizeof((++j,arr))); print…
24 авг '10 в 06:29
3 ответа

Почему разные значения sizeof(datatype_pointer)/sizeof(datatype) для разных типов данных?

Я объявил следующую структуру в моей C++ программе: struct person { char name[10]; /* first name */ char id[10]; /* ID number */ off_t pos; /* position in file, for demonstration */ } people[] = { { "arnold", "123456789", 0 }, { "miriam", "987654321…
08 мар '12 в 14:11
1 ответ

C++Builder 2007, Объединение и битовые поля

Размер этого объединения возвращает 16 байтов (в C++Builder 2007). typedef union { struct { unsigned Type:2; unsigned Prev:31; unsigned Next:31; unsigned SizeInBytes:32; }; } eMyUnion; Как я должен изменить это определение объединения, если я хочу s…
21 фев '13 в 11:35
1 ответ

Размер структуры (sizeof) в C++ не соответствует реальному размеру в случае массивов

Я использую динамические массивы следующей структуры: struct TestStructure { unsigned int serial; int channel; int pedestal; int noise; int test; }; Sizeof (TestStructure) возвращает 20, поэтому я предполагаю, что в структуре нет заполнения / выравн…
24 авг '16 в 08:52
4 ответа

Размер памяти, выделенной malloc

Я назначаю новый блок памяти указателю, но, очевидно, размер блока не тот, который я передаю в качестве параметра для malloc char *q="tre"; printf("q in main %zu\n", sizeof(q)); q = (char*)malloc(6); printf("q in main %zu\n", sizeof(q)); Выходы 8 8 …
29 янв '14 в 05:04
1 ответ

Оценка выражения, которое используется с sizeof

Есть ли какое-либо выражение, которое будет оцениваться как операнд sizeof. Я узнал, что в случае операнда переменной длины с sizeof выражение будет оценено. Но я не могу сделать пример, я написал код ниже, int a[]={1,2,3}; printf("%d",sizeof(a[1]++…
10 июл '12 в 19:27
3 ответа

Почему размер этой структуры 24?

У меня есть структура, из которой я хочу рассчитать ее размер: #pragma pack(push,4) struct MyStruct { uint32_t i1; /* size=4, offset=0. */ uint32_t i2; /* size =4 offset =4 */ uint16_t s1; /* size =2 offset=8 */ unsigned char c[8]; /* size=8 offset=…
12 авг '14 в 11:52
2 ответа

Определить размер структуры в C

По разным причинам у меня есть некоторые структуры, которые я хочу заставить быть определенными размерами (в данном случае 64 байта и 512 байтов). Оба, однако, ниже несколько ниже размеров, которые я хочу, чтобы они были. Могу ли я в любом случае ск…
02 янв '12 в 21:46
2 ответа

Массив структур - размер возвращаемого неожиданного результата

У меня есть массив простых структур, объявленных в моем коде. sizeof() возвращается ответ, который не соответствует размеру массива. Есть ли другой способ объявить это, чтобы обеспечить правильный размер ответа? struct control_cmd { const char * cmd…
01 сен '18 в 13:09
3 ответа

Почему offsetof(member) равен sizeof(struct)?

У меня есть структура, определенная как: struct smth { char a; int b[]; }; Когда я звоню sizeof а также offsetof на этой структуре: cout << sizeof(struct smth) << endl; cout << offsetof(struct smth, b) << endl; Выход: 4 4 Поч…
17 авг '13 в 15:13
2 ответа

Получение размера массива в C

У меня есть пример следующим образом: У меня есть структура: typedef struct e{ int *(array[2]); <---in my case this array is a [2][69] }Example; и тогда это, если у меня есть такая функция, как: int funct(Example *e); Как я могу получить размер м…
19 апр '13 в 05:11
2 ответа

Каковы размеры данных для событий и подписки на события?

Извиняюсь за то, что не успел примерить sizeof на мероприятии, но в духе усиления Google-фу.... Какой фактический объем памяти будет добавлен к экземпляру класса, который имеет поле события? Какая фактическая память будет использоваться для каждой п…
26 авг '11 в 22:08
4 ответа

Почему размер массива равен 1

Возможный дубликат: Размер массива на языке программирования C? Я пытаюсь написать функцию, которая возвращает 1, если значение находится в массиве. Вот код: int inArrayInt(int iVal, int iArray[]) { int i; int arrayL = sizeof(*iArray) / sizeof(int);…
27 июн '12 в 10:31
1 ответ

Указатель sizeof typedef

У меня есть структура, которая определяется следующим образом: typedef struct my_struct { int numbers[10]; } *my_struct; Есть ли способ узнать его размер? sizeof(my_struct);// return size of a pointer
09 апр '17 в 08:57
6 ответов

sizeof() вектор

У меня есть vector<set<char> > структура данных (база данных транзакций), и я хочу знать ее размер. Когда я использую sizeof() с каждым set<char> размер 24 несмотря на набор содержит 3, 4 или 5 символов. Позже, когда я использую si…
03 мар '10 в 16:51
0 ответов

Нормализация PHP, Как создать соответствующий цикл?

Я пытаюсь разделить бронирование столов на 3 стола, чтобы включить нормализацию. Что ж, я сталкиваюсь с проблемой, когда пытаюсь сгенерировать 1 ID для многократного бронирования. Я запутался с зацикливанием. Сценарий: клиент зарезервировал 2 киоска…
07 дек '11 в 06:33