Comprender el tipo de datos size_t en C / C ++

Blog

En este artículo, analizaremos la comprensión del tipo de datos size_t en C / C ++.

Cuando encuentre el prototipo de función de muchas funciones de la biblioteca C / C ++, es posible que se pregunte qué significa exactamente esto.

¡Comprendamos lo que significa, usando algunos ejemplos ilustrativos!

El tipo de datos size_t en C / C ++

Esencialmente, size_t es un no firmado tipo de datos. Esto significa que no puede ser negativo.

|_+_|

Puede almacenar el tamaño máximo de cualquier tipo de datos. Por lo tanto, esto es adecuado para su uso en sistemas de 64 bits, cuando puede enfrentar un problema con enteros de 32 bits a través de size_t value; // value will never be negative .

Cuando usa unsigned int para contar cualquier cosa, existe la posibilidad de que su valor se desborde y sea negativo.

Tome el siguiente ejemplo, donde nuestra variable entera se convierte repentinamente<0, due to overflow!

|_+_|

Es posible que deba esperar unos segundos para ver el resultado.

Producción

|_+_|

Como puede observar, nuestro int La variable entera es negativa debido a un desbordamiento.

Si bien una forma es verificar nuestra variable entera, a menudo es muy conveniente usar un tipo de datos sin firmar que siempre sea no negativo.

El estándar C pone #include int main() { // Initially set to 0 int count = 0; while (count >= 0) { count ++; if (count <0) { printf('Overflow Detected! Count is now %d ', count); } } return 0; } como uno de esos tipos de datos. Esto garantizará que todo lo que estemos contando no será negativo. Esto es muy útil si está realizando un seguimiento de un índice de matriz, por ejemplo.

Es por eso que funciones como Overflow Detected! Count is now -2147483648 devuelve un count valor.

# programación-c #cplusplus #c

www.journaldev.com

Comprender el tipo de datos size_t en C / C ++

En este artículo, analizaremos la comprensión del tipo de datos size_t en C / C ++. Cuando encuentre el prototipo de función de muchas funciones de la biblioteca C / C ++, es posible que se pregunte qué significa exactamente esto. ¡Comprendamos lo que significa, usando algunos ejemplos ilustrativos!