memcpy
Q: Why is memcpy safer than pointer casting for type punning? π‘ Concept in a Nutshell memcpy is the "Official Copy Machine" of C: It doesn't care if your data is a math book or a cookbook; it only...

Source: DEV Community
Q: Why is memcpy safer than pointer casting for type punning? π‘ Concept in a Nutshell memcpy is the "Official Copy Machine" of C: It doesn't care if your data is a math book or a cookbook; it only sees "paper" (Bytes) and duplicates them from point A to point B without violating language laws. 1. Life Analogy (The Librarian vs. The Xerox) Imagine you have a Math Book but you want to read it as a Cookbook. Pointer Casting (*(int*)&f): This is like forcing a Librarian to read a Math book as a Cookbook. The Librarian will get confused because it violates the "Library Classification Rules" (Strict Aliasing). memcpy: This is like putting the Math book into a Xerox machine. The machine doesn't read the words; it just copies the ink onto new paper. Now you have "Cookbook-shaped" paper with "Math-ink" on it. Itβs perfectly legal because the Xerox machine is allowed to touch any paper! 2. Code Example #include <stdio.h> #include <string.h> int main() { float f = 3.14f; int i; /