C语言中有关二维数组的指针问题
2017-06-21 23:13
281 查看
本人大一第一次写博客,欢迎指正。
从举例入手会比较直观。
int a[2][3];//此处定义了一个二维数组。
a –>
a[0] –> a[0][0] a[0][1] a[0][2]
a[1] –> a[1][0] a[1][1] a[1][2]
请问 a 代表什么含义?
a代表第一个数组a[0]的地址,即a == &a[0]。此处可能会有些难于理解。此处a如果仅看数值和a[0][0]的地址一样也就是和a[0]一样,但a的意义和两者远远不同。a本质来讲是一个二级指针,a[0]本质来讲是一个一级指针,a[0][0]则代表二维数组的第一个元素。
那么数a,a[0]值为何会一样呢?
因为不论是三个整数组成的数组,如a[0],a[1];还是单个整数都开始于同一个地址。
问题:
1.a+1代表什么?
代表a[1]的地址
2.a[0]+1代表什么?
代表a[0][1]的地址
3.((a+1)+1) 代表什么?
代表元素a[1][1].
从举例入手会比较直观。
int a[2][3];//此处定义了一个二维数组。
a –>
a[0] –> a[0][0] a[0][1] a[0][2]
a[1] –> a[1][0] a[1][1] a[1][2]
请问 a 代表什么含义?
a代表第一个数组a[0]的地址,即a == &a[0]。此处可能会有些难于理解。此处a如果仅看数值和a[0][0]的地址一样也就是和a[0]一样,但a的意义和两者远远不同。a本质来讲是一个二级指针,a[0]本质来讲是一个一级指针,a[0][0]则代表二维数组的第一个元素。
那么数a,a[0]值为何会一样呢?
因为不论是三个整数组成的数组,如a[0],a[1];还是单个整数都开始于同一个地址。
问题:
1.a+1代表什么?
代表a[1]的地址
2.a[0]+1代表什么?
代表a[0][1]的地址
3.((a+1)+1) 代表什么?
代表元素a[1][1].
2017年6月21日23:48:54 写于南京工程学院
相关文章推荐
- 有关C语言指针访问问题
- C语言二维数组中的指针问题
- 有关动态创建释放二维数组,以及指向数组的指针问题集合 .
- C语言二维数组的指针及首地址问题
- C语言中的二级指针和二维数组问题
- C语言实现栈,对栈初始化的指针有关问题
- C语言二维数组中的指针问题
- C语言二维数组中的指针问题
- 举例理解C语言二维数组的指针指向问题
- 在c语言学习中的问题(一):数组指针,指针数组,二维数组的理解与区分
- C语言中的二级指针和二维数组问题
- C语言中的二级指针和二维数组问题
- 有关动态创建释放二维数组,以及指向数组的指针问题集合
- 有关二级指针与二维数组的操作问题(网摘)
- C语言中关于指针,二维数组等的问题,一个有趣的发现
- 有关动态创建释放二维数组,以及指向数组的指针问题集合
- C语言中的二级指针和二维数组问题
- c语言 函数 用指针传递参数 问题
- C++与指针有关的问题
- C++ : 指针及其有关的问题