指针及其部分使用

定义指针变量的一般形式:

基类型 *指针的变量名

如:int *p(此后指针变量只能装整型)此处的*为类型说明符

其余地方出现的 * 为指针运算符,要求操作数为指针

例:

该代码中,指针变量p指向i的地址,*p 为 i 本身

i= 100 为直接访问;*p = 100为间接访问 

例:求两数最大值(通过指针形参改变实参的值)

指针在程序中访问地址主要包括以下步骤:

1、通过指针变量中的值到内存空间中定位;

2.从定位处开始向后偏移sizeof(基类型);

3.将偏移好的那部分内存空间当作是一个基类型变量来看

重要性质:

1.在64位系统中,指针占8个字节;在32位操作系统中,指针占4个字节;

2.指针变量也有地址

3.保存地址必须与基类型相同

4.清楚指针变量的指向,必须要有指向,否则为“野”指针 指向随机数,会造成程序崩溃

如图 

若想用*t,则需要引入一个变量,让t指向

可优化为

用指针判断操作系统为大端还是小端模式

指针强制类型转换

int *p,p+n后  地址将向后偏移n *sizeof(基类型)

*&可以抵消,如下:

整型不能做指针运算,最后一行将会引发报错

用指针实现数组逆序:

数组求和

三种排序

#define NULL 0(不带参宏)

把指针变量改为空指针 代表指针的一种状态,表示当前指针变量p不可访问

例:判断是否为空指针

用递归实现数组打印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值