文章目录
- 作业标题
- 作业内容
- 2.解题思路
- 3.具体代码
作业标题
使用指针打印数组内容
作业内容
写一个函数打印arr数组的内容,不使用数组下标,使用指针。
arr是一个整形一维数组。
2.解题思路
先定义一个数组,使用指针打印数组内容那就是说我们可以通过对指针解引用,来访问对应的数组元素。
我们可以设置一个for循环,每次对指针进行自增或其他操作,来达到对不同元素的访问。
注意不要越界访问哦。
3.具体代码
int main()
{
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
int* p = &arr[0];
int i = 0;
int sz = sizeof(arr) / sizeof(arr[0]);
for (i = 0; i < sz; i++)
{
printf("%d ", *(p + i));
}
return 0;
}
打印:
需要注意的是:
这里p
的指针类型不能写成char*
。
因为如果p
是char*
类型的,这里的p += 4;
会只读取每个int
类型(int类型4字节,char类型1字节)的第一个字节,跳过每个int
类型的后3个字节。
数字小的时候可能看不出什么,但是数字大了就可能会打印奇怪的东西。