C语言基本教程(二)数据范例、变量和运算符(13)
三、数组与指针
数组与指针有密切的接洽。数组名自己就是该数组的指针,反过来,也可以把指针当作一个数组,数组名和指针实质上都是地点, 可是指针是变量,可以作运算。而数组名是常量,不能举办运算。
譬喻:
main()
{
char s[30], *p; /*界说字符型数组和指针变量*/
p=s; /*指针p指向数组s的第一个元素s[0]的地点*/
.
.
.
*(p+8); /*指针p指向数组s的第9个元素s[8]的地点*/
.
.
.
}
由上例可以看出数组和指针有如下干系:
(p+i)=&(s[i])
*(p+i)=s[i]
因此, 操作上述表达式可以对数组和指针举办交流。两者的区别仅在于:数组s是措施自动为它分派了所需的存储空间;而指针p则是操作动态分想函数为它分派存储空间或赋给它一个已分派的空间地点。