目录
前言
写一个函数打印arr数组的内容,不使用数组下标,使用指针。
arr是一个整形一维数组。
这个题前面做过,但是这次的要求是要用指针,那就练习一下指针。
一 代码分析
1 创建一个数组arr
sz求数组的元素个数,在传参的时候一并传过去rvs()是自定义的打印函数。
int main()
{
int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
int sz = sizeof(arr)/sizeof(arr[0]);
rvs(arr,sz);
return 0;
}
2 用指针打印
传过来的数组arr用指针接收。打印的时候,*str就是指向arr[0]的。指针+1就表示下一个元素的地址,所以+i就能把所有元素打印出来了。
void rvs(int* str, int n)
{
int i = 0;
for (i = 0; i < n; i++)
{
printf("%d ", *str + i);
}
}
二 完整代码展示
void rvs(int* str, int n)
{
int i = 0;
for (i = 0; i < n; i++)
{
printf("%d ", *str + i);
}
}
int main()
{
int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
int sz = sizeof(arr)/sizeof(arr[0]);
rvs(arr,sz);
return 0;
}