Enviado em 24/07/2020 - 21:34h
Pessoal, preciso fazer uma função que calcular a quantidade de posições de um vetor enviado por parâmetro. Entretanto quando crio essa função ela calcula e mostra apenas metade das posições(utilizo a função sizeof).
#include <stdio.h>
void tamanho(int *vetor0){
int tamanho=sizeof(vetor0)/sizeof(int);
printf("%d",tamanho);//printa na tela o valor 2 referente a metade das posicoes
}
int main(){
int vetor[4]={8,9,9,4};
int tan;
tan=sizeof(vetor)/sizeof(int);
printf("%d\n",tan);//Da um print do valor 4, o valor correto das posicoes
tamanho(vetor);
}
Enviado em 25/07/2020 - 11:21h
Bom dia, prezado.sizeof A/sizeof A[0]
/*** ATENÇÃO: ESTAS IMPLEMENTAÇÕES ESTÃO ERRADAS. NÃO USE! ***/
#include <stdio.h>
struct big_struct {
uint64_t many_elements[10000]; // 10 mil elementos com de 8 bytes, totalizando 80 mil bytes.
};
struct big_struct big_array[10000]; // 10 mil elementos de 80 mil bytes, com tamanho total de 800 milhões de bytes.
size_t bad_big_struct_array_size(struct big_struct *p){
return sizeof pi/sizeof *pi; // Certamente vai retornar 0, porque sizeof de ponteiro deve ser 4 ou 8 bytes, que, divididos por 80 mil, dá zero.
}
int main(){
printf("%zu\n", szieof big_struct_array/sizeof big_struct_array[0]); // Vai imprimir 10000. OK.
printf("%zu\n", bad_big_struct_array_size(big_struct_array)); // Vai imprimir 0. Ruim, mas “correto”, de acordo com as regras da linguagem.
}
// Os parênteses são necessários para evitar alguns problemas quando “x” tem formas compostas, como “a+n” ou “(a, b)”.
#define better_array_size(x) (sizeof (x)/sizeof (x)[0])
template <typename T, size_t N> constexpr size_t array_size(const T(&)[N]){ return N; }
Instalação do Ambiente .NET (#C) no Slackware 15.0
Kali On The Box - Colocando o Kali para rodar no Raspberry Pi
Como contribuir com a atualização de pacotes no Void Linux
Colocar dispositivo móvel Samsung em modo Download pela linha de comando
Instalando Slackware com btrfs
Como identificar invasores (2)
Debian 11, Acabo de instalar mas nao consigo acesso dele via ssh.. (3)
Ajuda com Automatização de Backup do PostgreSQL 9.6 (3)