#include <iostream>
#include <stdio.h>
int main(int, char **)
{
// 定义一个整形数组与指向数组的指针
int arr[20];
int *p = arr;
// 打印数组名与指向数组的指针的地址
printf("arr = %p\n", arr);
printf("p = %p\n", p);
// 打印数组的长度与指向数组的指针的长度
printf("sizeof(arr) = %lu\n", sizeof(arr));
printf("sizeof(p) = %lu\n", sizeof(p));
// 数组名与指向数组的指针加一
auto p1 = arr + 1;
auto p2 = p + 1;
printf("p1 = %p\n", p1);
printf("p2 = %p\n", p2);
// 数组名与数组的地址
auto p3 = arr;
auto p4 = &arr;
printf("p3 = %p\n", p3);
printf("p4 = %p\n", p4);
// 数组名与数组地址加一
auto p5 = arr + 1;
auto p6 = &arr + 1;
printf("p5 = %p\n", p5);
printf("p6 = %p\n", p6);
// 数组与数组地址的类型
printf("type name of arr = %s\n", typeid(p5).name());
printf("type name of &arr = %s\n", typeid(p6).name());
// arr = 0x7ffe6a7c7860
// p = 0x7ffe6a7c7860
// sizeof(arr) = 80
// sizeof(p) = 8
// p1 = 0x7ffe6a7c7864
// p2 = 0x7ffe6a7c7864
// p3 = 0x7ffe6a7c7860
// p4 = 0x7ffe6a7c7860
// p5 = 0x7ffe6a7c7864
// p6 = 0x7ffe6a7c78b0
// type name of arr = Pi
// type name of &arr = PA20_i
return EXIT_SUCCESS;
}
【CPP】数组名与指针
最新推荐文章于 2022-12-04 17:54:37 发布