As Iv'e been journeying through verious texts iv'e come accross simmalar lines of code such as this one a few times:

Code:
#define MIN(X,Y) ( ((X) < (Y)) ? (X) : (Y) )

Now, I know what this does... to a degree the macro part and format i understand but it's the opperators '?' and ':' I don't have a clue what they mean and none of the texts i'm reading appear to explain it.