指针算术运算 short pa int pb double pc /∥每个元素占2个字节 川每个元素占4个字节 ∥每个元素占8个字节 pa-2 pb-1 pc pa-1 pa pb pa+1 pa+2 pb+1 pc+1 pa+3 12 http://math.ecnu.edu.cn/~jypan
http://math.ecnu.edu.cn/~jypan 指针算术运算 12 pa pa-2 pa-1 pa+1 pa+2 pa+3 short * pa // 每个元素占 2 个字节 pb pb-1 pb+1 int * pb // 每个元素占 4 个字节 pc pc+1 double * pc // 每个元素占 8 个字节
指针数组 口指针数组:数组的元素都是指针变量 类型标识符*指针数组名[n)] ex06_pointer_02.cpp intA[3][4]={0,2,4,8},{1,3,5,7},{2,3,5,8}; int*pa[3]={A[],A[1],A[2]};/声明-个有三个元素的指针数组 /并初始化:pa[]=A[],pa[1]=A[1],pa[2]=A[2] 需要指出的是,这里的pa是数组名,不是指针 13 http://math.ecnu.edu.cn/~jypan
http://math.ecnu.edu.cn/~jypan 指针数组 13 指针数组:数组的元素都是指针变量 类型标识符 * 指针数组名[n] int A[3][4]={{0,2,4,8}, {1,3,5,7}, {2,3,5,8}}; int *pa[3]={A[0],A[1],A[2]}; // 声明一个有三个元素的指针数组 // 并初始化:pa[0]=A[0], pa[1]=A[1], pa[2]=A[2] ex06_pointer_02.cpp 需要指出的是,这里的 pa 是数组名,不是指针
指针与一维数组 指针通常结合数组使用:由于数组元素在内存中是连续存放的,因此使用指针 可以非常方便地处理数组元素! inta[]={0,2,4,8}; int*pa-a;/∥OK,数组名代表数组的首地址,即pa=&a[0] *pa=3/OK,等价于a[0]=3 *(pa+2)=5;∥OK,等价于a[2]=5 14 http://math.ecnu.edu.cn/-jypan
http://math.ecnu.edu.cn/~jypan 指针与一维数组 14 指针通常结合数组使用:由于数组元素在内存中是连续存放的,因此使用指针 可以非常方便地处理数组元素! int a[]={0,2,4,8}; int * pa = a; // OK, 数组名代表数组的首地址,即 pa=&a[0] *pa = 3;// OK,等价于 a[0]=3 *(pa+2) = 5; // OK,等价于 a[2]=5