
		paulo1205
		
		(usa Ubuntu)
		
		Enviado em 26/11/2021 - 19:39h 
		LucasTAraujo escreveu:
Primeiramente recomendo fortemente que você leia a documentação da linguagem para obter uma descrição técnica e completa  , "Segundamente" seria legal se desse mais detalhes, por exemplo qual linguagem está se referindo, sei que está na categoria, mas não custa explicitar ;).
Agora vamos para resposta:  size_t é um tipo básico de dados, sendo mais especifico um inteiro sem sinal, seus valores extremos normalmente variam entre [0,UINT_MAX], onde UINT_MAX é uma constante com o maior valor que um unsigned int pode armazenar, esse valor pode variar em diferentes compiladores ou arquiteturas. O size_t é o tipo de retorno de algumas funções como sizeof, mas também pode ser utilizado como qualquer outro tipo de dados, eu particularmente já o vi em contadores de laço de repetição e variáveis auxiliares  para salvar posições de vetores/matrizes. 
Essa informação é incorreta.  Não há necessariamente ligação entre 
size_t, que é definido em <stddef.h>, e 
unsigned int ou com o valor constante 
UNIT_MAX (em <limits.h>). O padrão diz que 
size_t é de um tipo inteiro sem sinal, sem especificar qual tipo é esse para além de dizer que é o mesmo tipo de um valor devolvido pelo operador 
sizeof — pode ser 
unsigned int[b], mas também pode ser [b]unsigned long ou 
unsigned long long.
A simples existência do nome 
size_t é para livrar o programador de ter de saber qual a representação interna de dados desse tipo, que, no entanto, serve para representar o tamanho de qualquer objeto que o programa em C possa dispor (ou encontrar disposto) na memória. E essa existência encontra correspondentes em algumas funções da biblioteca padrão, tais como, por exemplo, o o modificador 
z na hora de imprimir ou ler um valor do tipo 
size_t com 
printf() e 
scanf().
 // Exemplo 1: escrita.
printf("Tamanho de um valor inteiro: %zu bytes.\n", sizeof (int));
// Exemplo 2: leitura.
size_t s;
char *buffer;
printf("Quantos bytes deseja alocar para o buffer? ");
if(scanf("%zu", &s)!=1){
    fputs("Erro de leitura.\n", stderr);
    abort();
}
buffer=malloc(s); 
... Então Jesus afirmou de novo: “(...) eu vim para que tenham vida, e a tenham plenamente.” (João 10:7-10)