Resultados da pesquisa a pedido "sizeof"
Como sizeof calcula o tamanho das estruturas
Eu sei que um char e um int são calculados como sendo 8 bytes em arquiteturas de 32 bits devido ao alinhamento, mas recentemente me deparei com uma situação em que uma estrutura com 3 shorts era relatada como sendo de 6 bytes pelo ...
memcpy (), qual deve ser o valor do parâmetro size?
Eu quero copiar uma matriz int para outra matriz int. Eles usam a mesma definição de comprimento para sempre ter o mesmo comprimento. Quais são os prós / contras das duas alternativas a seguir do parâmetro size para memcpy ()? memcpy(dst, src, ...
Usando sizeof com uma matriz alocada dinamicamente
gcc 4.4.1 c89 Eu tenho o seguinte trecho de código: #include <stdlib.h> #include <stdio.h> char *buffer = malloc(10240); /* Check for memory error */ if(!buffer) { fprintf(stderr, "Memory error\n"); return 1; } printf("sizeof(buffer) [ %d ]\n", ...
Por que a função não sabe o tamanho da matriz?
Se eu escrever int main() { int a[100] = {1,2,3,4,}; cout<<sizeof(a)/sizeof(a[0])<<endl; //a is a pointer to the first elem of array, //isn't it return 0; }Eu recebo 400! Se eu escrever função void (int * a); int main() { int a[100] = ...
Qual é a maneira mais fácil de encontrar o tamanho de um tipo sem compilar e executar código?
Eu escrevi um script bash para determinar o tamanho degcctipos de dados de (por exemplo,./sizeof int double produz os tamanhos respectivos deint edouble) agrupando cada um de seus argumentos nos seguintesP() macro e, em seguida, compilar e ...
Não avaliar a expressão à qual sizeof é aplicado torna legal desreferenciar um ponteiro nulo ou inválido dentro de sizeof em C ++?
Primeiro de tudo, eu viesta pergunta sobre C99 [https://stackoverflow.com/q/19785518/57428]e as referências de resposta aceitasoperando não é avaliado redação no rascunho da Norma C99. Não tenho certeza se esta resposta se aplica ao C ++ 03. Há ...
Por que o preenchimento é adicionado, se char vem após int?
Por exemplo, existe uma estrutura struct A { char a; int i; };Nesse caso, temos um [1 byte] + padding [3 byte] + int [4 byte] = 8. Agora vamos fazer pouca atualização no struct acima, struct A { int i; char a; };Nesse caso, char vem após int e ...
Sizeof (char []) em C
Considere este código: char name[]="123"; char name1[]="1234";E esse resultado The size of name (char[]):4 The size of name1 (char[]):5Por que o tamanho dechar[] é sempre mais um?
"Sizeof (arr [0])" pode levar a um comportamento indefinido?
Existe um padrão bem conhecido de descobrir o comprimento da matriz: int arr[10]; size_t len = sizeof(arr) / sizeof(arr[0]); assert(len == 10);Esse padrão se aplica a matrizes estáticas e matrizes automáticas de tamanho constante. Também se ...
VLAs e efeito colateral no operando de sizeof
Eu sei dissosizeof nunca avalia seu operando, exceto no caso específico em que o referido operando é um VLA. Ou eupensamento Eu sabia. void g(int n) { printf("g(%d)\n", n); } int main(void) { int i = 12; char arr[i]; // VLA (void)sizeof *(g(1), ...