If all you tell me about the machine is its memory layout, you haven&#x27;t told me nearly enough to explain the oddities of C.<p>For example, I could imagine a machine with identical memory layout to C, but that supported a hugely parallel, variable-size data bus where an operation like &quot;x = y&quot; (string assignment by value) could copy an entire string in a single operation.<p>The reason C doesn&#x27;t support this is because generally at the assembly language layer you can only operate on memory in register-sized chunks, and every load or store of a register&#x27;s worth of memory takes time.  So assignment of a string by value requires a loop, just like it does in C.