D6-01 指针的基本用法一
D6-02 指针的基本用法二
D6-03 指针的基本用法三
赋值
- 变量
- 指针
- 数组
(32 位)指针占四个字节。操作系统和内存之间的数据线来决定的。
D6-04 指针的运算上
D6-05 指针的运算下
D6-06 指针与数组
数组反序(指针)
D6-07 指针与二维数组上
a,a+1,a+2 是一行一行移动,但是加上*()编程一个一个移动。
D6-08 指针与二维数组下
移动步长变了。
a+i 是行,加上改变指针性质,加上列,*再取值。
根据您提供的表达式 "((a+i)+j)",结合二维数组和指针的关系进行解释,可以理解为以下操作:
- 首先,有一个名为
a
的二维数组。 - 表达式
(a+i)
表示对数组a
进行偏移,移动到第 i 行的位置。这个表达式返回的是一个指向一维数组的指针(即二维数组的第 i 行)。 - 接着,对
(a+i)
进行解引用操作*
,得到该指针所指向的一维数组。 - 表达式
(*(a+i)+j)
表示对一维数组进行偏移,移动到第 j 列的位置。这个表达式返回的是一个指向数组元素的指针(即二维数组的第 i 行第 j 列的元素)。 - 最后,再次对
(*(a+i)+j)
进行解引用操作*
,得到该指针所指向的真实值。
综上所述,表达式 "((a+i)+j)" 的含义是:在二维数组 a
中通过指针和索引的组合,获取第 i 行第 j 列的元素值。
请注意,具体的值取决于给定的二维数组 a
,以及变量 i 和 j 的具体值。这只是一般的解释,如果提供了具体的数组和索引值,我们能够进行实际的计算。
*(a+i) = a[i]
对于二维数组 a
,表达式 a[i]
表示数组 a
中索引为 i
的一维数组的==首元素地址==。换句话说,a[i]
是一个指针,它指向数组 a
的第 i
行的起始位置。
因此,当我们使用 *
运算符对 a[i]
进行解引用时,即 *(a[i])
,它表示取出指针 a[i]
指向的地址中存储的值,也就是数组 a
中第 i
行的第一个元素的值。
总结起来,对于二维数组 a
,a[i]
是指向数组 a
第 i
行的地址,而 *(a[i])
则是获取数组 a
第 i
行第一个元素的值。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于