У меня есть вопрос о memcpy, который, я надеюсь, кто-то может ответить. Вот короткая демонстрационная программа:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main (int argc, char **argv){
unsigned char buffer[10];
unsigned short checksum = 0x1234;
int i;
memset(buffer, 0x00, 10);
memcpy(buffer, (const unsigned char*)&checksum, 2);
for(i = 0; i < 10; i ++){
printf("%02x",buffer[i]);
}
printf("\n");
return 0;
}
Когда я запускаю эту программу, я получаю 34120000000000000000.
У меня вопрос, почему я не получаю 12340000000000000000?
Большое спасибо