C语言 指针概念(一)

指针的作用

1.使程序简洁、紧凑、高效
2.有效地表示复杂地数据结构
3.动态分配内存
3.得到多一个的函数返回值

指针的概念

1.变量与指针

根据程序编译器的不同,int定义的字节数不同。(数据占用内存存储器的大小不同)常用的单片机编译器,如KEIL下,51类单片机的C语言中,int代表2个字节(16位)
在vc里面:int 4个字节,,char 1个字节,,float 4个字节
在tc里面:int 2个字节,其他都一样

在这里插入图片描述

内存中每个字节有一个编号----地址
程序中:int i; float k; 编译或函数调用时为其分配内存单元

2.指针与指针变量

指针:一个变量的地址
指针变量:专门存放变量地址的变量

3.&与*运算符

&:取址运算符,取变量的地址。&i,i是一个变量,取变量i的地址
单目运算符,优先级2,结合性:自右向左

*:取值运算符,取指针所指向变量的内容。*i,i是一个指针,取指针i所指向的内容
单目运算符,优先级2,结合性:自右向左

e_16,color_FFFFFF,t_70)
i_point-----指针变量,他的内容是地址量,是上图i的地址2000
*i_point-----指针的目标变量,他的内容是数据,是上图i的值100
&i_point-----指针变量所占用内存的地址 是上图的2100
在这里插入图片描述
i_point=&i=&(*i_point)
i=i_point=(&i)

4.直接访问与间接访问

直接访问:按变量地址存取变量值 k=i
间接访问:通过存放变量地址的变量去访问变量 k=*i_point

5.定义指针变量及初始化

int *p1,*p2;
int i=10;
int *p1=&i ; //变量i必须已说明过,类型应该一致,虽然没有报错,但是很危险,没有给指针变量p1赋值,位置随机
在这里插入图片描述

给p1赋值,这样p1就不会随机
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

生活热爱就好

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

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

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

打赏作者

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

抵扣说明:

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

余额充值