本人学习笔记只针对本人,因为本来较懒,不善于整体笔记,所以笔记估计只有本人看懂!
今天学习指针强制类型转换
int main(void)
{
int a[2] = { 0x68753344, 0x659780a0 };
int *p1 = a;
printf("*p1 = 0x%x\n", *p1);
char *p2 = (char *)a;
printf("*p2 = 0x%x\n", *p2);
printf("*p2 = 0x%x\n", *(p2+1));
printf("*p2 = 0x%x\n", *(p2+2));
printf("*p2 = 0x%x\n", *(p2+3));
printf("*p2 = 0x%x\n", *(p2+4));
printf("*p2 = 0x%x\n", *(p2+5));
打印结果如下:
*p1 = 0x68753344
*p2 = 0x44
*p2 = 0x33
*p2 = 0x75
*p2 = 0x68
*p2 = 0xffffffa0 //1个字节存储的数为44,正常打印,当存储的数>=80时,0xffffff**;
*p2 = 0xffffff80