学习指针变量笔记(基础语法)

1.变量对应一个地址——如何访问地址?

直接存取:直达目的(钥匙开门)

间接存取:将地址集合在变量中,这个变量专门存放地址(将钥匙从钥匙库中取出,再开门)

变量会被系统分配一个内存,这个内存有个编号,叫地址,而地址自带指向性,因此也叫指针,给存指针的一个变量,也叫指针变量。

i_point=&i;

&i就是地址,i_point就是指针变量。&将变量i变成地址;

2.定义指针变量的基类型是数值的类型。

3.因为整数不是变量,因此不是指针,所以不能赋给指针变量。

4.引用指针变量时的一些interest

  *i_point  *&i  这是数值

&*i_point 这是地址

5.在进行数值运算时,可以交换数值,这时地址不变,也可以交换地址,这时数值不变。

int *p,*p1,*p2;//定义指针变量

p=p1,p1=p2,p2=p;//交换地址

*p=*p1,*p1=*p2,*p2=*p//交换数值

这里有一些问题

int *temp;

*temp=*p1

 这里temp只是一个空壳,没有具体的值,不能在后面调用其数值。

因此有3种改正方案:

1.直接进行地址交换

2.不用地址,直接用数值

3.给temp一个值

6.其他问题

值传递只能从形参到实参传,不能反过来。变值的是形参,而非实参

因此,以交换值为例,换地址后,指针指向的值本身没有变化,即a还是a,b还是b,输出a,b,的值不变。所以可以改变指针变量所指向数值的值,如改变a,b的值,函数表面是交换地址,实质还是交换地址的值,因此把函数形参变量用指针,就可以不变指向,而改变指向对象,从而改变实参。

数组:本身就是一个指针,指向数组首元的值,且可以与指针变量互用。

a=p+n p++,

这表示a[n] ,*p表示a[n]的值,可做输出。

定义指针变量可赋数组初值。

p+1表示p的下一个变量

自己的一点体会,还望各位大佬指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值