Tag: 投射

键入cast char指向整数指针的指针

所以我看到了一些关于如何找到架构的字节序的例子。 假设我们有一个指向int数据类型的整数指针。 让我们说int值是0x010A0B12。 在小端架构中,最低有效字节(即12)将存储在最低内存地址中,对吧? 因此,4字节整数中的最低字节为12。 现在,检查。 如果我们声明一个char指针p,并输入将整数指针转换为char *并将其存储在p中,并打印取消引用的p值,我们将得到一个关于该结构的字节顺序的线索。 如果它是12,我们就是小尾数; 01表示大端。 听起来真的很整洁…… int a = 0x010A0B12; int *i = &a; char *p = (char*)i; printf(“%d”,*p); // prints the decimal equivalent of 12h! 这里有几个问题,真的。 由于指针是强类型的,字符指针不应该严格指向char数据类型吗? 用%d打印的是什么? 难道我们不应该用%c打印字符吗?