【发布时间】:2017-08-30 08:36:01
【问题描述】:
我对将int 数组转换为char* 有疑问。以下代码具有输出23。但我真的不明白为什么。谁能给我解释一下?
#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;
}
【问题讨论】:
标签: c arrays pointers type-conversion