int main()
{
int array[10] = { 6, 1, 2, 4, 5, 7, 9, 8 };
int *p1 = array;
int *p = &array[0];
printf("%p, %p\n", p, p1);// ==
printf("*p = %d\n", *p);//6
printf("*p1 = %d\n", *p1);//6
printf("%d, %d\n", sizeof(array), sizeof(p1));//40,4
printf("%d, %d\n", sizeof(int *), sizeof(char *));//4,4
printf("%d, %d, %d\n", array, *array, &array);//array=&array
printf("%d\n", *(p1 + 3));//a【3】=4
printf("%d\n", (p1 + 3));//内存地址移动3 * 4字节 = 12字节
printf("%d\n", *((char *)p1 + 3));//打印a[0]的第四个字节 0
int i = 0x12345678;
char *pci = (char *)&i;
printf("%x, %x, %x, %x\n", *(pci + 0), *(pci + 1), *(pci + 2), *(pci + 3)); //78,56,34,12 (小端对齐)
return 0;
}
C++ 指针与数组的练习
最新推荐文章于 2024-07-29 07:11:39 发布