False. Even using unique_ptr & shared_ptr won't make C fully memory-safe. Issues like iterator invalidation, dangling references, data races, and unsafe APIs remain. Rust addresses these comprehensively by design, not just discipline.
Possible? Yes. Trivial? Nope
No, Rust exists because people treat C as "C with Classes" and continue to abuse it.
If you stick to unique_ptr and shared_ptr and so on, you can write entirely memory-safe code trivially.
It's 2025, so it's time to learn C17 at least...