当前位置:首页 > 单片机 > 单片机
[导读]指针的定义:自己总结为,指针是用来存放某种类型变量的地址的变量 比如 unit8 * p = 0x5555 5555 指针p 表示用来存放 unit8类型变量的地址的变量 *指针是变量 *指针是存放地址的变量 *指针是存放某种类

指针的定义:

自己总结为,指针是用来存放某种类型变量的地址的变量

比如 unit8 * p = 0x5555 5555

指针p 表示用来存放 unit8类型变量的地址的变量

*指针是变量

*指针是存放地址的变量

*指针是存放某种类型变量的地址的变量

百度上定义说:

它的值直接指向(points to)存在电脑存储器中另一个地方的值。

上例子中 *p 就表示0x5555 5555这个地址中存放的数

指针定义的格式:(数据类型+星号)+变量名称

比如下面两个例子

int * xxx

YYY * xxx

指针的含义:此时xxx这个变量就成为一个指针,这个指针指向这种数据类型的首地址

指针的使用:

typedef struct{

__IO uint32_t AAA;

__IO uint32_t BBB;

__IO uint32_t CCC;

__IO uint32_t DDD;} YYY; 先用个结构体来说明

YYY->AAA 就表示 变量AAA存放的内容

YYY.AAA 也是一样,不同的表达方式

注意事项:

在STM32中指针是4个字节增加的,比如一个指针是0x4001 2000

不论里面放的是什么数,那么下一个指针就是 0x4001 2004

比如

uint8 i[5] = {0X11,OX22,OX33,OX44,OX55}

&i = 0X4001 2000

那么 i[0] = *0X4001 2000

i[1] = *0X4001 2004

i[2] = *0X4001 2008

i[3] = *0X4001 200C

i[4] = *0X4001 2010

而 0x4001 2001~0x4001 2003 中是空的。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭