C语音:数组定义时使用字符串赋值,字符串长度大于数组长度会有什么问题
const unsigned char a[6] = "123456";
unsigned char b[6];
memcpy(b, a, 6);
C语音:数组定义时使用字符串赋值,字符串长度大于数组长度会有什么问题
const unsigned char a[6] = "123456";
unsigned char b[6];
memcpy(b, a, 6);
会导致字符串越界,也就是字符串最后一个字符不是字符串结束符。越界的字符会写到字符串后续的内存中。一旦这些内存已经被占用,则会崩溃