a和p都是堆栈上的变量,从内存分布来说,假定数组p占据了0x1000~0x1001的地址,数组a就占据了0x1004~0x100C的地址(由于4字节对齐)现在你把a向p复制,是把0x1004~0x100C第内容,复制到了0x1000~0x1008的位置,如下'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', '\0', 'f', 'g', 'h', '\0'所以数组p是abcdefgh而数组a的位置上变成了 efgh(这里有一个\0,虽然后面还有内容,但不显示了)...
|