案例:
int matrix[3][10];
matrix[1][5]
matrix: 指向包含10个整型元素的数组的指针, 指代第一行, 第一行是子数组
matrix+1: 指向包含10个整型元素的数组的指针+1表示第二行, 第二行是子数组
*(matrix+1): 对matrix+1进行间接访问操作, 选择第二行的子数组
*(matrix+1)+5: 这个指针比*(matrix+1)子数组上移动5个
*(*(matrix+1)+5) 和*(matrix[1]+5)相同, 对*(matrix+1)+5进行简介访问操作
-----------------------------------------------------------------------------------------
源码:
1 #include<stdio.h>
2
3 int main()
4 {
5 int a[4][4]=
6 {
7 1, 2, 3, 4,
8 5, 6, 7 ,8,
9 9, 10, 11, 12,
10 13, 14, 15, 16
11 };
12 int (*ps)[4]=a;
13
14
15 printf("\nps==%x\n", ps);
16 printf("\nps+1==%x\n", ps+1);
17 printf("\nps+2==%x\n", ps+2);
18 printf("\nps+3==%x\n", ps
C语言数组名和指针的关系
最新推荐文章于 2022-12-11 11:41:59 发布