Espacios de nombres
Variantes
Acciones

size_t

De cppreference.com
< c‎ | types
Definido en la cabecera <stddef.h>
Definido en la cabecera <stdio.h>
Definido en la cabecera <stdlib.h>
Definido en la cabecera <string.h>
Definido en la cabecera <time.h>
Definido en la cabecera <uchar.h>
(desde C11)
Definido en la cabecera <wchar.h>
(desde C95)
typedef /*implementacion-definida*/ size_t;

size_t es el tipo entero sin signo del resultado de sizeof , alignof (desde C11) y offsetof, dependiendo del modelo de datos.

[editar] Observaciones

size_t puede almacenar el tamaño máximo de un objeto de cualquier tipo teóricamente posible (incluido una matriz).

size_t se utiliza comúnmente para la indexación de matrices y el conteo de bucles. Los programas que utilizan otros tipos, como unsigned int, para la indexación de matrices pueden fallar, por ejemplo, en los sistemas de 64 bits cuando el índice excede a UINT_MAX o si se basa en la aritmética modular de 32 bits.

[editar] Ejemplo

#include <stdio.h>
#include <stddef.h>
#include <stdint.h>
 
int main(void)
{
    const size_t N = 100;
    int numbers[N];
    for (size_t ndx = 0; ndx < N; ++ndx)
        numbers[ndx] = ndx;
    printf("SIZE_MAX = %zu\n", SIZE_MAX);
    size_t size = sizeof numbers;
    printf("size = %zu\n", size);
}

Posible salida:

SIZE_MAX = 18446744073709551615
size = 400

[editar] Véase también

tipo entero con signo de regresar al restar dos punteros
Original:
signed integer type returned when subtracting two pointers
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(typedef) [editar]
byte offset from the beginning of a struct type to specified member
(macro de función) [editar]