self-learner here,
"Introduction to Embedded Systems: Using ANSI C and the Arduino Development Environment" I don't know who much this book is relevant to what is your goal from learning C but it teaches C in first few chapters before the Arduino part.
My advice comes from my own experience going through the ECE undergrad program. I learn embedded systems on the Arduino, but we only used the board. We used the Arduino "IDE" (no debugging), but we did all of our class projects and HWs in ANSI C (no Arduino APIs). Why? Because the Arduino IDE worked on all the student's laptop OSs, and because the ATMEGA328p is a great entry level processor with some decent internal peripherals.
The Book we used was "Introduction to Embedded Systems" by David Russel. Let me tell you, he is a competent writer. He shows you how to flip bits, handle interrupts, and make a basic buffered serial stream, all without the Arduino APIs. Looking back, I would not choose to have learned how to do these things on any other platform.
Now as I'm going forward and using the STM32F4 devices on the chibiOS RTOS, I have an appreciation for the levels of integration required to make reliable high-level, multi-threaded applications. The device peripherals, the processor, the workflow, the debugging, IS more complicated - BUT I see these features as a luxury now. Knowing first how to flip the bits really leveled the learning curve for me, and now I'm on my way to more complex and interested devices.
Let me know if you have any questions are anything (you can PM), my own experience in learning embedded was quite a journey, and I'm happy to make specific recommendations based on your project/career goals.