文章目录
- 作业标题
- 作业内容
- 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个字节。
数字小的时候可能看不出什么,但是数字大了就可能会打印奇怪的东西。










![leetcode-09-[232]用栈实现队列[225]用队列实现栈[20]有效的括号[1047]删除字符串中的所有相邻重复项](https://img-blog.csdnimg.cn/direct/e37cbcc2a7754820930b5b3c1a479954.png)








