指针学习一:实现运用指针进行数组克隆

#include//定义一个标准的C++库
using namespace std;//定义命名空间

1.第一步实现键盘输入,运用指针完成数组赋值

int arr1[4], arr2[4];//定义两个大小为4的int型的数组
	int *parr1, *parr2;//定义两个int型的指针变量
/*
parr1 = &arr1[0]:将指针变量parr1用数组arr1的首地址进行赋值
parr1 < arr1 + 4: 循环条件:parr1只能取到arr1[0]到arr1[3]的地址
parr1++:指针的自增
*/
//数组赋值
for (parr1 = &arr1[0]; parr1 < arr1 + 4; parr1++)
	{
		cin >> *parr1;//从键盘输入指针parr1所指向的变量的地址的值赋给数组arr1
		cout << *parr1 << " ";
	} 
	cout << endl;

注意:验证是否能通过指针变量给数组赋值

for (int i = 0; i < 4; i++) 
	{
		cout << arr1[i] << " ";
	}
	cout << endl;

2.初始化指针变量parr1

parr1 = &arr1[0];

注意:第一步for循环结束后,parr1指向arr[4]的地址,此时出现数组越界,如果想要再次使用parr1时,需要对其进行初始化。
3.将数组arr1中的数据复制给数组arr2

for (parr2 = &arr2[0]; parr2 < arr2 + 4; parr2++)//同parr1
	{
		*parr2 = *parr1;//将指针变量parr1所指向变量的地址的值赋给指针变量parr2所指向变量
		cout << *parr2;
		parr1++;//parr1自增,指向下一个地址
	}

学习总结:
作为一名C++初学者,学习指针时。
首先要明确指针与指针变量以及取地址符(&)与指针运算符(*)。
(1)指针:表示地址。
(2)指针变量:表示用来存放地址的变量。
(3)取地址符:用在变量名之前,用来获取该变量的地址。
(4)指针运算符:用在指针变量之前获取该指针变量所指向内存单元的值。
其次运用数组时,要考虑到数组越界,如果下面需要重新用到某一变量时,需对其进行初始化,否则会进行乱码。
如当我完成用指针进行数组克隆时,忽略了数组越界以及初始化(parr1 = &arr1[0];parr1++;),导致代码出现了乱码情况,如下:
在这里插入图片描述

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值