Por otra parte, si se usara un buffer no circular sería necesario modificar todos los elementos cuando uno sea consumido.Sin embargo, expandir un buffer circular requiere cambio de memoria, lo cual es costoso.Una consecuencia de la memoria intermedia circular es que cuando está lleno y se realiza la posterior escritura, entonces comienza a sobrescribir los datos más antiguos.Finalmente, si dos elementos son borrados ahora, se va a retornar 5 & 6 y no 3 & 4, dado que A & B sobrescribió el 3 & 4: Generalmente, un buffer circular requiere tres punteros: Como alternativa para lenguajes que no soportan punteros, se puede utilizar un buffer de tamaño fijo, con dos enteros que contengan los índices de comienzo y fin de los datos válidos.Manteniendo este sistema, podemos comprobar el estado en el que se encuentra el buffer en cualquier momento.La lectura y escritura en el buffer circular debe realizarse con gran eficiencia en cuanto al acceso directo a memoria.