![]() ![]() |
|
C语言基础教程(二)数据类型、变量和运算符(13) | |
作者:佚名 文章来源:不详 点击数 更新时间:2008/4/18 13:58:27 文章录入:杜斌 责任编辑:杜斌 | |
|
|
数组与指针有密切的联系。数组名本身就是该数组的指针, 反过来, 也可以把 指针看成一个数组, 数组名和指针实质上都是地址, 但是指针是变量, 可以作运算。 而数组名是常量, 不能进行运算。 例如: 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则是利用动态分想函数为它分配 存储空间或赋给它一个已分配的空间地址。 |
|
![]() ![]() |