Результаты поиска по запросу "sizeof"
элементы выровнены со смещением, кратным их размеру; определенные пользователем структуры не являются!
class CHaraICICCC { int i; char c1; int j; char c2; char c3; char c4; }; class CHaraIICCCC { int i; int j; char c1; char c2; char c3; char c4; }; void fun() { CHaraICICCC eici; CHaraIICCCC eiicc; int icic = sizeof(eici); // -> output of icic is ...
на некоторых компиляторах.
о именно влияет размер примитивного типа данныхint зависит от? составительпроцессорСреда разработкиИли это сочетание тех или иных факторов? Объяснение причин того же будет действительно полезным. РЕДАКТИРОВАТЬ: Извините за путаницу ... Я хотел ...
быть typedef для
printf("%lu \n", sizeof(*"327"));гда думал, что размер указателя в 64-битной системе составляет 8 байт, но этот вызов продолжает возвращаться 1. Может ли кто-нибудь дать объяснение?
проверьте указатель, вот рекурсивная функция, которая печатает содержимое односвязного списка.
я есть небольшой кусочек кода оsizeof оператор с троичным оператором: #include <stdio.h> #include <stdbool.h> int main() { bool a = true; printf("%zu\n", sizeof(bool)); // Ok printf("%zu\n", sizeof(a)); // Ok printf("%zu\n", sizeof(a ? true : ...
@bodov: Но это не класс C ++, это класс G ++, поэтому к нему не нужно применять правила C ++. Особо отметьте, что вы не можете иметь массив этого типа или выполнять математические операции с его указателями, поэтому обычное рассуждение о том, что размер не может быть равен нулю, также не выполняется.
старая запись, в которой просят конструкцию, для которойsizeof вернется0, Есть несколько хороших ответов от пользователей с высокой репутацией, которые утверждают, что по стандарту ни один тип или переменная не могут иметь размер 0. И я согласен ...
, поэтому вы можете указать размер в аргументе).
льку я хочу динамически находить размер массива в функции, я использовал оператор sizeof. Но я получил неожиданный результат. Вот одна демонстрационная программа, чтобы показать вам, что я хочу ...
для более подробной информации о ABI.
от вопрос уже есть ответ здесь: При расширении структуры с дополнением, почему нельзя добавить дополнительные поля в дополнение к хвосту? [/questions/24110347/when-extending-a-padded-struct-why-cant-extra-fields-be-placed-in-the-tail-pad] 4 ...
увеличивается
сно сcppreference [http://en.cppreference.com/w/c/language/sizeof]: Если типвыражение этомассив переменной длинытип,выражение оцениваетсяи размер массива, который он оценивает, вычисляется во время выполнения. Это означает: если типвыражение ...
[Примечание: в частности, sizeof (bool) и sizeof (wchar_t) определяются реализацией.69)]
могу найти ответ в стандартной документации. Требует ли стандарт языка C ++sizeof(bool) всегда быть 1 (для 1 байта), или этот размер определяется реализацией?
Размер параметра в 32-битных системах будет равен 4, а в 64-битных системах, скомпилированных с -m64, будет 8. Это связано с тем, что массивы передаются в виде указателей в функциях. Указатель является просто адресом памяти.
уn не равно8 в следующей функции? void foo(char cvalue[8]) { int n = sizeof (cvalue); }Ноn делает равно8 в этой версии функции: void bar() { char cvalue[8]; int n = sizeof (cvalue); }