指针的算数运算

简介: 指针的算数运算
#include<iostream>
using namespace std;
int main(void) {
  int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
  int len = sizeof(arr) / sizeof(arr[0]);//计算数组元素的长度
  int* p = arr;
  cout << "数组的地址:" << &arr << " 数组第一个元素的地址:" << &arr[0] << endl;
  //p指向的是数组的地址
  //p++的概念是在p当前的地址的基础上,增加p类型对应的大小
  //通过地址增加的方式对数组进行遍历
  for (int i = 0; i < len; i++) {
    cout << "第" << i + 1 << "个元素"<<arr[i]<<"的地址:" << p << endl;
    p++;
  }
  cout << "----------------------------------" << endl;
  double arr2[] = { 1,2,3,4,5,6,7,8,9,10 };
  int len2 = sizeof(arr2) / sizeof(arr2[0]);//计算数组元素的长度
  double* p2 = arr2;
  cout << "数组的地址:" << &arr2 << " 数组第一个元素的地址:" << &arr2[0] << endl;
  for (int i = 0; i < len; i++) {
    cout << "第" << i + 1 << "个元素" << arr2[i] << "的地址:" << p2 << endl;
    p2++;
  }
  system("pause");
  return 0;
}

 

指针之间相减等于两指针之间相差的元素的个数,而不是两指针之间相差的字节数。

注意:

两指针之间相加毫无意义且不被允许。

不同类型的指针不允许相减。

不同数组之间的指针相减毫无意义。

 

目录
相关文章
|
7月前
|
编译器
C初阶--指针初阶(下):指针运算+指针和数组+二级指针+指针数组(下)
C初阶--指针初阶(下):指针运算+指针和数组+二级指针+指针数组(下)
|
7天前
|
存储 人工智能 编译器
【重学C++】【指针】一文看透:指针中容易混淆的四个概念、算数运算以及使用场景中容易忽视的细节
【重学C++】【指针】一文看透:指针中容易混淆的四个概念、算数运算以及使用场景中容易忽视的细节
17 1
详解7道经典指针运算笔试题!
详解7道经典指针运算笔试题!
|
5月前
|
存储 C++
|
5月前
|
存储 C语言 索引
指针详解(const、指针运算、数组名的理解、传址调用和传值调用、一维数组的本质​)(一)
指针详解(const、指针运算、数组名的理解、传址调用和传值调用、一维数组的本质​)(一)
|
5月前
指针的运算
指针的运算
25 0
|
6月前
|
存储 算法 编译器
指针(一)------指针概念+指针类型+野指针+指针运算+二级指针
指针(一)------指针概念+指针类型+野指针+指针运算+二级指针
47 0
|
6月前
|
存储 编译器 C语言
【C语言航路】第十站:指针(三)深刻理解指针运算
【C语言航路】第十站:指针(三)深刻理解指针运算
36 0
|
20天前
|
存储 C语言
C语言 — 指针进阶篇(下)
C语言 — 指针进阶篇(下)
20 0
|
20天前
|
存储 C语言 C++
C语言 — 指针进阶篇(上)
C语言 — 指针进阶篇(上)
27 0