BSP Day15

指针

1. 概念 

计算机种所有的数据都必须存在内存中,不同数据类型的数据占用的字节数不同,为了能够正确的访问这些数据,C语言就为每个字节都设置了编号,这个编号就叫做地址或者叫指针

在C语言中,将地址形象的称为“指针”,一个变量的的地址称为变量的“指针”,一个专门用来存放另一个变量的地址的变量,则称为指针变量

地址:操作系统的寻址空间编号,也就是操作系统给每个存储单元分配了统一的编号

指针就是地址

指针变量就是保存地址编号的变量

32bit平台下,地址总线32位,所以地址编号32位编号,指针变量就是32位即4字节

2. 指针的定义方法

指针的定义:

        数据类型 *指针变量名;

        数据类型 *指针变量名1,*指针变量名2,*指针变量名3,...;

*号在指针变量定义时不能省略,否则就会变成一般变量的定义

指针的运算符

&:获取一个变量的地址

*:在定义一个指针变量时,起到表示作用,表示定义的是一个指针变量,除此之外其它地方都表示获取一个指针变量保存的地址里面的内容

扩展:如果一行中定义多个指针变量的前面都需要加*修饰

指针变量中只能存放地址,与指针相关的两个运算符时&(取地址运算)和*(指针运算)

    int *p;//定义一个int型指针变量 
	
	int *p1, *p2, *p3;//定义三个int型指针 
	
	int *pa = NULL;//空指针 
	
	int *pb;//野指针 
	
	void *pd;//万能指针,可以指向任意数据类型
    int *p;//定义一个int型指针变量 
	
	int *p1, *p2, *p3;//定义三个int型指针 
	
	int *pa = NULL;//空指针 
	
	int *pb;//野指针 
	
	void *pd;//万能指针,可以指向任意数据类型

[ 70.784694] ---------------------------------------------------------------------- [ 70.792242] Modules linked in: nvt_sen_sc01g(O) pri_tpm(PO) xr_usbs(O) 8188eu(O) cfg80211(O) gps(PO) pe_pm(PO) qmi_wwan(O) option(O) usb_wwan(O) usbserial(O) cryptodev(O) cmemdrv(PO) alarm(PO) motor(PO) traffi(PO) uart(PO) fpga(PO) looktty(PO) extchip(PO) timer(PO) hikcomm(PO) pricrypto(PO) bd(PO) base(O) kflow_ai(O) kdrv_ai(O) kdrv_md(O) kdrv_ive(O) nvt_dsp(O) nvt_ipc(O) nvt_sde(O) nvt_vpe(O) nvt_iq(PO) nvt_isp(O) kdrv_sde(O) kflow_audiodec(O) kflow_audioenc(O) kflow_audioout(O) kflow_audiocap(O) nvt_kdrv_audio(O) nvt_audio(O) kflow_videodec(O) kflow_videoenc(O) h26xdec(O) kdrv_jpgdec(O) kdrv_jpg(O) nvt_vencrc(O) kdrv_h26x(O) kflow_videoout(O) nvt_hdmitx(O) kdrv_videoout(O) nvt_dsi(O) nvt_dsiphy(O) nvt_mi(O) nvt_ide(O) nvt_gfx(O) kdrv_rpc(O) kflow_videoprocess(O) kflow_videocapture(O) nvt_videosprite(O) kflow_common(O) kdrv_videoprocess(O) kdrv_videocapture(O) kdrv_dre(O) kdrv_vpe(O) kdrv_gfx2d(O) kdrv_comm(O) nvt_hwcpy kdrv_builtin(O) kwrap(O) [ 70.875942] CPU: 0 PID: 3550 Comm: timeSwitching Tainted: P O 5.10.168 #1 [01-08 09:53:25.379][HW_IF][motor_op.c 69]bsp_api_motor_icr_da[ 70.884010] Hardware name: N10 (DT) [ 70.893028] pstate: 60000005 (nZCv daif -PAN -UAO -TCO BTYPE=--) [ 70.899021] pc : day_ircut+0x30/0x13c [motor] [ 70.903364] lr : motor_ioctl+0x4d0/0x1070 [motor] [ 70.908051] sp : ffffffc014b83ab0 [ 70.911352] x29: ffffffc014b83ab0 x28: ffffff80347dc100 [ 70.916649] x27: 0000000000000000 x26: 0000000000000000 [ 70.921945] x25: 0000000000000000 x24: 0000000000000000 [ 70.927241] x23: 0000000000000000 x22: ffffffc009639000 [ 70.932537] x21: ffffff8002317200 x20: 0000000000000448 [ 70.937834] x19: 0000000000000000 x18: 0000000000000000 [ 70.943130] x17: 0000000000000000 x16: 0000000000000000 [ 70.948426] x15: 0000000000000000 x14: 0000000000000000 [ 70.953722] x13: 0000000000000000 x12: 0000000000000000 [ 70.959018] x11:
最新发布
03-18
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixiaxiao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值