C中指向数组的指针

今天做了LeetCode的两数之和的这道题,注意到了C中的解题方法中有指向数组的指针的应用,下面记录一下。

数组名指向数组中第一个元素的地址,利用数组名可以有两种方式去得到数组中的值,

1、用指针的偏移去得到数组各元素的对应地址,从而去得到数组元素的值,如:*(p + 1)、*(p + 2)。

2、用数组名加索引的方式得到数组中元素的值,如p[1]、p[2]。

 1 int main()
 2 {
 3     int nums[4] = { 1,2,3,4 };
 4     int *p = nums;
 5 
 6     cout << " *(p + 0) " << *p << endl;
 7     cout << " *(p + 1) " << *(p + 1) << endl;
 8     cout << " p[2] " << p[2] << endl;
 9     cout << " p[3] " << p[3] << endl;
10 
11     return 0;
12 }

下面是运行结果

 *(p + 0) 1
 *(p + 1) 2
 p[2] 3
 p[3] 4

 

posted @ 2020-09-20 16:55  遇见方知有77  阅读(116)  评论(0)    收藏  举报