The opposite category of C is defined by setting hom(x,y)=hom(y,x) for all objects x,y of C. However in a concrete category, morphisms do not always have inverses (because functions don't always have inverses). So I am wondering how it is possible to always construct a reversed arrow for a given arrow and whether or not it is always possible to construct the opposite category.
Edit: Thank you for the responses and references I think I understand the main part of the question. As I understand it, when you construct the opposite category you forget all the meaning that the objects and morphisms have and reverse the arrows only in terms of classes of objects and sets of morphisms. One question I have is this. When you say a statement about a category you get the dual statement for "free" because the proof also applies in the opposite category. Do you only get things for free when your are talking about types of categories and not specific categories. For example in the category of groups, products always exist but coproduction do not.
Formally a concrete category is a category $\mathcal C$ together with a faithful functor $F: \mathcal C \rightarrow \textrm{Set}$. Informally, this says that you can think of the objects of $\mathcal C$ as sets and the morphisms as functions between your sets. And as I understand your question, you want to know whether we can consider $\mathcal C^{\textrm{op}}$ in the same way.
This is true, because $\textrm{Set}^{\textrm{op}}$ itself is concrete. It can be faithfully embedded into the category $\textrm{Rel}$ of relations, which is concrete. See https://en.wikipedia.org/wiki/Concrete_category#Further_examples
I'll write out the details of why $\textrm{Set}^{\textrm{op}}$ is concrete tomorrow. As you point out, it's not feasible to identify the elements of $\textrm{Hom}_{\textrm{Set}^{\textrm{op}}}(A,B) = \textrm{Hom}_{\textrm{Set}}(B,A)$ as literal functions from $A$ to $B$, you have to do something more complicated.