指针下标和指针的关系 指针使用下标时,可以理解为数组。例如:char*p=\"abcdef;此时p[2]值 为'c'。而p表示字符串\"abcdef\"的首地址,*p的值则相当于p[0],值为'a'。
C语言下标和指针的关系 指针与数组是C语言中很重要的两个概念,它们之间有着密切的关系,利用这种关系,可以增强处理数组的灵活性,加快运行速度,本文着重讨论指针与数组之间的联系及在编程中的应用。1.指针与数组的关系当一个指针变量被初始化成数组名时,就说该指针变量指向了数组。如:char str[20],*ptr;ptr=str;ptr被置为数组str的第一个元素的地址,因为数组名就是该数组的首地址,也是数组第一个元素的地址。此时可以认为指针ptr就是数组str(反之不成立),这样原来对数组的处理都可以用指针来实现。如对数组元素的访问,既可以用下标变量访问,也可以用指针访问。2.指向数组元素的指针若有如下定义:int a[10],*pa;pa=a;则p=a[0]是将数组第1个元素的地址赋给了指针变量p。实际上,C语言中数组名就是数组的首地址,所以第一个元素的地址可以用两种方法获得:p=a[0]或p=a。这两种方法在形式上相像,其区别在于:pa是指针变量,a是数组名。值得注意的是:pa是一个可以变化的指针变量,而a是一个常数。因为数组一经被说明,数组的地址也就是固定的,因此a是不能变化的,不允许使用a+、+a或语句a+10,而pa+、+pa、pa+10则是正确的。由此可见,此时指针与数组融为一体。3。
指针下标和指针的关系