C语言的一级指针和一维数组
数组:
相同数据类型的数据集合。
数组利用其下标变化实行对内存中的数组元素进行处理。
int a[10];
int *pa;
pa=a,或pa=&a[0];
指针pa加上或减去整数i,通过i的变化就可以和数组一样处理内存中连续存放的一系列数据。
a[0];a[1];a[2];a[3];...a[i];
*pa;*(pa+1+;*(pa+2);...*(pa+i)
指针和数组在访问地址中的数据时,其表现形式具有相同的意义
·a[i]和*(pa+i)实质上是两个运算表达式,它们遵循统一的地址计算规则实现相同的功能
*(a+i); a[i] ; *(pa+i) ; pa[i];
指针和数组名都是地址量。
指针和数组名具有本质的不同
·指针pa是地址变量,而数组名a是地址常量,它们在某些运算中有着截然不同的区别。
·a[i]可以转换为*(pa+i)的前提是指针pa 指向了数组a,即pa指向数组a的首地址,否则不能转换。
`对于指针pa和数组名a。
指针pa可以接受赋值,其本身的值可以变化。