如何使用指针

指针的用法其实也不难,指针主要解决什么问题呢?

当一个函数的改变需要影响另一个函数,这时候需要用到指针。

例如:

void Fun(int **pp)
{
	*pp = NULL;
}

int main()
{
	int a = 10;
	int *p = &a;
	Fun(&p);
	printf("%d\n",*p);

	return 0;
}
其中Fun函数影响了主函数中变量的值。如果使用一级指针则a的值不会受到Fun函数的影响,需要一个二级指针来指向一级指针,然后函数才能正常使用。这个例子说明了一个函数想要改变另一个函数,需要用到指针,以及该怎样使用指针。

然而指针需要两个条件来使用:

1、传指针

和写函数一样,传指针需要在参数列表里写指针的类型以及名字。

2、解引用

int main()
{
	int a = 10;
	int b = 20;
	int *p = &a;      //定义整形指针,并且用来保存a的地址。
	*p = 100;         //这句语句等同于a= 100;
	p = &b;           //指针用来保存b的地址。
	*p = 200;         //这句语句等同于b = 200;
	int **pp = &p;    //定义二级整型指针,并且用来保存一级指针p的地址。
	*pp = &a;         //这句语句等同于p = &a;
	**pp = 1000;      //这句语句等同于a = 1000;
	*pp = &b;         //这句语句等同于p = &b;
	**pp = 2000;      //这句语句等同于b = 2000;

	return 0;
}

在使用指针时就叫做解引用,其中注意指针其实就是地址,所以一级指针一般存放变量的地址使用一级指针便是使用变量,使用二级指针来保存一级指针的地址,解一次引用就是使用一级指针,解两次引用就是使用变量。

这就是指针的基本使用方式。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值