There is no such difference between basic C and advanced C. Actually the topics that are difficult to understand are cosidered as advanced C.
For example datatypes, control flow(if, while, for), functions, pointers can be considers as basic C.
Topics like specific algorithms (sorting, searching etc) , datastuctures (linked list trees graphs etc) can be consiered as advanced C.
I am not sure about embedded C. But we can use some lowlevel C for microcontrollers. Not all the funtions that the normal C provides may not be there. And some bit wise operations be there also. U may have to access some ports or some memory. There should be some help for that also.