Concrete syntax trees follow directly from the grammatical production rules of the language (i.e. its grammar). They are complex, wordy and offer little benefit for the next phases of the compiler (analysis and code generation).
I don't think that most compilers represent or store concrete syntax (let alone concrete syntax trees), concrete syntax is at best manifest within the parsing algorithm itself (for example, sometimes using recursion); generally on successfully parsing something the parser generates some intermediate data structure, and if that is a tree, it is likely more reflective of an abstract syntax tree.
Look at the diagram for the "Parse Tree" in this answer and http://stackoverflow.com/a/10176731/471129https://stackoverflow.com/a/10176731/471129 , and compare with the AST further on in @Guy's answer.
http://eli.thegreenplace.net/2009/02/16/abstract-vs-concrete-syntax-trees/