Типы указателей: int на short в C - PullRequest
0 голосов
/ 22 мая 2018

Я ожидаю, что выход будет 131200 (2 ^ 17 + 2 ^ 7), а не 2. Имеет смысл в теории, но это не работает.Битовый массив arr [3] после строки типирования указателя будет выглядеть примерно так: [00000000 00000010 00000000 10000000].(Пожалуйста, скажите мне, если я где-то не прав.)

#include <stdio.h>

int main(void){
    int arr[5];
    arr[3] = 128;
    ((short *) arr)[6] = 2;
    printf("%i\n", arr[3]);
}
...