It would be a mistake to call free(a)
after your program executes a="MeUni";
because at that point, a
no longer points to the block of memory that the malloc(10)
call allocated.
Also, a=NULL;
will not "delete the value" of the block of memory that a
points to.
I suspect that there are quite a few things wrong with your program, but it's hard to tell what they are, because it's hard to tell what you were hoping the program would do.
You seem to have a very weak idea of what pointers are and how to use them. If you want to learn C and/or C++, then you are going to need to work through some good tutorials, and some good books, and maybe take a class.