Вот мой следующий код, в моем цикле for я пытаюсь сохранить unsigned short int внутри памяти char *, созданной malloc.Я делаю это для индексации, и я хотел бы сохранить это, если это возможно.
Однако внутри myMemory при распечатке sizeof (myMemory [0]) или даже распечатывании адреса myMemory [0]Само собой кажется, что сохраняется целочисленное значение p, а не unsigned short int.Само целое число является правильным, но размер байта равен 1, а не 2, поэтому не является коротким целым без знака.
char* myMemory;
typedef unsigned short int R;
void main(){
R *p:
myMemory = malloc(65536)
for (int i = 0; i<36;i++){
myMemory[i] = p;
i++;
myMemory[i] = p;
p++;
p++;
}
printf("testing size of an index %d\n",sizeof(myMemory[2]));
}