【C语言】指针关系运算|指针和数组
💣 指针关系运算
用 for 循环遍历数组元素全部初始化为 0
第①种代码
第②种代码
实际上绝大多数的代码编译器上是可以顺利完成的。
然而写代码的时候我们还是应该避免第二种写法,因为标准并不保证它是可行的。
💣 标准规定
允许指向数组元素的指针与指向数组最后一个元素的那个内存位置的指针进行比较,但是不允许指向第一个元素之前的那个内存位置的指针去进行比较,第二种就会导致数组越界。
⚔ 指针和数组
数组名是首元素的地址,如下代码所示↓
代码运行结果所示↓
- 004FFAD8 - 数组名。
- 004FFAD8 - 数组名首元素地址。
正是因为数组名是首元素的地址,所以我们可以这样去理解。如下代码所示↓
上面的代码:p 是首元素的地址,首元素的地址 p + i,产生的就是下标为 arr[i] 的这个元素的地址。它们两个是一模一样的。
运行结果🖊
0x7ffe5a4ed550--《======》--0x7ffe5a4ed550
0x7ffe5a4ed554--《======》--0x7ffe5a4ed554
0x7ffe5a4ed558--《======》--0x7ffe5a4ed558
0x7ffe5a4ed55c--《======》--0x7ffe5a4ed55c
0x7ffe5a4ed560--《======》--0x7ffe5a4ed560
0x7ffe5a4ed564--《======》--0x7ffe5a4ed564
0x7ffe5a4ed568--《======》--0x7ffe5a4ed568
0x7ffe5a4ed56c--《======》--0x7ffe5a4ed56c
0x7ffe5a4ed570--《======》--0x7ffe5a4ed570
0x7ffe5a4ed574--《======》--0x7ffe5a4ed574
如果这个时候要用指针遍历数组首元素的下标的话那也是可以的,此时就可以通过解引用来找到下标 i 的元素,从而 i 放进去,再把每个元素所打印出来。
运行结果🖊
0 1 2 3 4 5 6 7 8 9
- 点赞
- 收藏
- 关注作者
评论(0)