Try to replace
val = nodo->val;
nodo->val = val;
it should solve the data gone problem.
This syntax is really weird.
Q1->nodo = Q1->PushQ(Q1->nodo, 5);
is really buggy, a completed analyze and rewrite is in order. The whole program is confuse.
You should think about what you want: a queue, a linked list or a queue of linked lists.
Quote:Some debugging with Visual Studio 2015
You should really
learn to use the debugger.