我對int
數組到char*
的轉換有疑問。以下代碼的輸出爲23
。但我不明白爲什麼。有人可以向我解釋嗎?C - int數組到char *轉換
#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>
int main(){
uint32_t x;
uint32_t* p = (uint32_t*) malloc(sizeof(uint32_t));
uint32_t array[9] = {42, 5, 23, 82, 127, 21, 324, 3, 8};
*p = *((char*)array+8);
printf("1: %d\n", *p);
return 0;
}
[指針運算的可能的複製(char \ *)&a \ [1 \] - (char \ *)&a \ [0 \] == 4](https://stackoverflow.com/questions/20486661/pointer-arithmetic-char-a1-char- a0-4) –