三类指针完整解析:元素指针、行指针、数组指针步进规则

发布时间:2026/7/26 7:46:22
三类指针完整解析:元素指针、行指针、数组指针步进规则 一、数组基础int a[3][4]; // 3行4列 int 二维数组int 占 4 字节1. 普通指针 int *pint *p; p a[0][0];• p指向单个 int 元素• p 1向后偏移 1 个 int → 偏移 4 字节• 等价于 a[0][0] 1指向当前行下一个元素。2. 数组指针 int (*p1)[4]int (*p1)[4]; p1 a[0];• p1指向包含 4 个 int 的一维数组一行• p1 1向后偏移一整行一行大小4 * 4 16 字节• 等价于 a[0] 1直接跳到下一行首地址。3. 指向二维数组的指针 int (*p2)[3][4]int (*p2)[3][4]; p2 a;• p2指向整个 3 行 4 列 的二维数组• p2 1向后偏移整个二维数组数组总大小3 * 4 * 4 48 字节• 等价于 a 1跳过整个二维数组。总结核心区别指针定义指向对象1偏移字节int *p单个 int 元素4int (*p1)[4]一维数组一行16int (*p2)[3][4]整个二维数组48