Resultados da pesquisa a pedido "sizeof"

3 a resposta

Experimentos usando sizeof com matrizes e ponteiros

Para o programa: #include<stdio.h> int main(void) { int (*a)[2]; int b[5]; printf("sizeof(int) : %zu\n", sizeof(int)); printf("sizeof(int*) : %zu\n", sizeof(int*)); printf("sizeof(b) : %zu\n",sizeof(b)); printf("sizeof((int*)b) ...

2 a resposta

Por que sizeof (char + char) retorna 4?

char a, b; printf("%d", sizeof(a+b));O que imprimirá gravar na tela? Eu pensei que, porque sizeof (char) = 1, esse sizeof (a + b) também será 1, mas acabou sendo 4. Não entendo isso, por que escreve 4 se estamos adicionando dois caracteres?

1 a resposta

Struct tem tamanho diferente se a ordem do campo for diferente

package main import ( "fmt" "unsafe" ) type A struct { a bool b int64 c int } type B struct { b int64 a bool c int } type C struct { } func main() { // output 24 fmt.Println(unsafe.Sizeof(A{})) // output 16 fmt.Println(unsafe.Sizeof(B{})) // ...

4 a resposta

Tamanho do objeto da matriz passado para a função

Estou executando o seguinte código em C ++: class Tile { //class definition }; bool myFunction(Tile* Tiles) { sizeof(Tiles); sizeof(Tiles[0]); //other code } int main () { Tile tiles [16]; //other stuff myFunction(tiles); return 0; }Quando uso o ...

4 a resposta

o que strlen () realmente deve retornar nesse código?

#include <stdio.h> #include <stdlib.h> #include <string.h> int main(void) { char qq[] = {'a' , 'b' , 'c' , 'd'}; char qqq[] = "abcd"; printf("%d\n" , sizeof qq / sizeof qq[0]); // line A printf("%d\n" , strlen(qq)); // line B printf("%d\n" ...

1 a resposta

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), ...

5 a resposta

"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 ...

8 a resposta

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?

4 a resposta

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 ...

3 a resposta

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á ...