What is "The Buffer", as used in Serial.flush() ?

From reference page.

Serial.flush()
Description
Flushes the buffer of incoming serial data. That is, any call to Serial.read() or Serial.available() will return only data received after all the most recent call to Serial.flush().

For an understanding of “The Buffer” read this: http://en.wikipedia.org/wiki/Data_buffer

Think of a buffer as a queue. If i am data that needs to be processed, I will be put in a queue. The processing function will now begin by taking data from the front of the queue whilst more data joins the back of the queue. This is important when the rate of data that needs to be processed differs from the rate at which it is processed.

So, Serial.read() is a function that takes the data at the front of the buffer and passes it to you.

Much like its name, Serial.flush() will flush/clear the entire queue.

I hope this makes sense.

FusiveResonance stated

Think of a buffer as a queue. If i am data that needs to be processed, I will be put in a queue. The processing function will now begin by taking data from the front of the queue whilst more data joins the back of the queue. This is important when the rate of data that needs to be processed differs from the rate at which it is processed.

So, Serial.read() is a function that takes the data at the front of the buffer and passes it to you.

Much like its name, Serial.flush() will flush/clear the entire queue.

I hope this makes sense.

Yes, it does. Thank you

Can a person enter data into the buffer (serial buffer?) from the keyboard?

Thanks again.

Yes, simply type something using the serial monitor of Arduino IDE