I basically learned C through using Nim. Previously I had done almost no C, just enough to do basic file operations and that's about it.
Using Nim's unsafe features and FFI taught me C intrinsics, but general methodologies and memory management I had to deal with for those tasks helped me understand the underlying memory model. By the time I had to use C++ for a project, I already had a very nice grasp of C (mostly thanks to Nim), and a healthy expectation of complexity, also thanks to Nim. I would say that Nim in its totality has a similar complexity level to C++, despite Nim hiding it better. I wouldn't worry about learning C or C++ before learning Nim since Nim will let you get started easier and the. drill down into more lowlevel features as needed, teaching you about C and lowlevel memory management.