数组和指针的联系(C语言)
数组和指针是两种不同的数据类型,数组是一种构造类型,用于存储一组相同类型的变量;而指针是一种特殊类型,专门用来存放数据的地址。数组名除了sizeof(数组名)和&数组名表示整个数组外,其他情况下都表示的是首元素的地址,详情见:
C语言学习笔记之数组篇-CSDN博客
因此数组也可以向指针一样通过 +整数并解引用的操作访问数组的元素,如:
#include int main() { int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 }; int i = 0; int sz = sizeof(arr) / sizeof(arr[0]); for (i = 0; i同理,指针也可以像数组一样通过下标访问 代替 +/-整数并解引用的操作,如:
#include int main() { int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 }; int* parr = arr; int i = 0; int sz = sizeof(arr) / sizeof(arr[0]); for (i = 0; i#include int main() { int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 }; int i = 0; int sz = sizeof(arr) / sizeof(arr[0]); int* parr = &arr[sz - 1]; for (i = 0; i由此,我们可以得出一个结论,地址[i] == *(地址 + i),即它们的底层实现可能是一样的。数组和指针的联系仅此而已。
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。