指针的作用

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

指针的概念

1.变量与指针

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

C语言 指针概念(一)

内存中每个字节有一个编号----地址
程序中: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
C语言 指针概念(一)
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赋值,位置随机
C语言 指针概念(一)

给p1赋值,这样p1就不会随机
C语言 指针概念(一)
C语言 指针概念(一)
C语言 指针概念(一)

相关文章: