memset en C: ejercicio resuelto para inicializar arrays y buffers

  2 minutos

Si buscas memset en C ejercicio resuelto, aquí tienes un caso práctico para inicializar buffers de texto y arrays numéricos.

Crea un programa que:

  • inicialice un buffer de texto con '*',
  • inicialice un array de enteros a 0,
  • imprima los resultados para verificar el estado final.
#include <stdio.h>
#include <string.h>

int main(void) {
    char buffer[11];
    int nums[5];

    memset(buffer, '*', 10);
    buffer[10] = '\0';

    memset(nums, 0, sizeof(nums));

    printf("Buffer: %s\n", buffer);
    printf("Nums: ");
    for (int i = 0; i < 5; i++) printf("%d ", nums[i]);
    printf("\n");

    return 0;
}
Buffer: **********
Nums: 0 0 0 0 0
  • Usar memset para poner un array de int a valores distintos de 0.
  • Pasar mal el tamaño (usar número de elementos en vez de bytes).
  • Olvidar el terminador \0 en buffers de texto.

memset se usa para limpiar estructuras, reiniciar buffers y preparar memoria antes de procesarla.

Si quieres una ruta completa con progresión real de dificultad:

Sirve para escribir bytes. Funciona muy bien para 0, pero no para todos los valores numéricos en cualquier tipo.

Porque memset recibe bytes, no número de elementos.

En muchos casos sí, porque suele estar optimizado a bajo nivel.