//本文是学习《C++程序设计教程--设计思想与实现》的笔记。
指针可以进行加减运算。
数组名本身,没有方括号和下标,实际上是一个地址,表示数组起始地址。
整型数组的数组名本事得到一整数地址,字符数组的数组名得到一字符地址。
可以把数组起始地址赋值给一指针,通过移动指针(加减指针)来对数组元素进行操作。
例如:下面程序用指针运算来计算数组元素的和:
#include<iostream.h>
int main(){
int iArray[10];
int sum = 0;
int * iPtr = iArray;//用数组名 iArray给指针初始化
//int *iPtr;
//iPtr = iArray;这两句和上面一句是相等的//iPtr = &iArray[0];这句与左边那句相同
for(int i = 0;i < 10;i++){
iArray[i] = i * 2;
cout<<"*iArray["<<i<<"]"<<"is "<<iArray[i]<<endl;
}
for(int idex = 0; idex < 10; idex++){
sum += *iPtr;
cout<<"*iPtr is "<<*iPtr<<endl;
iPtr++;
}
cout<<"sum is"<<sum<<endl;
}
由于指针是具有某个数据类型的地址,所以指针运算都是以数据类型为单位展开的。
时间: 2024-11-08 21:30:10