单片机中C语言指针与变量

发布者:qazwsx007最新更新时间:2017-08-17 来源: eefocus关键字:单片机  C语言  指针  变量 手机看文章 扫描二维码
随时随地手机看文章

注:keil中单片机C编程 


若指针没有指向提前声明的变量,会产生混乱 
eg: 
情景一:              情景二: 
Type *p,*q;           Type *p,*q,pp,qq; 
给指针p赋值;              p=&pp; 
给指针q赋值;              q=&qq; 


p或q的值会出问题         正常,没问题(Type为一结构体) 


结论:情景二中,是指针使用的规范过程,先分配了变量,然后指针指向变量。 
 情景一中则没有定义变量,直接用指针操作,出现错误,猜测:因为指针只是用来存储变量的地址,现在即没有定义变量,那么给指针所赋的值在内存中可能是随机存储,然后指针指向他们时会出现混乱。 




关于指针自身地址和指针所指地址 
keil中单片机C编程 


rf_packet_info *buff,buffer; 


uart_sendbyte(buff);  uart_sendbyte(&buff);  uart_sendbyte(&buffer); 
buff=&buffer; 
uart_sendbyte(buff);  uart_sendbyte(&buff);  uart_sendbyte(&buffer); 


烧写后第一次运行串口结果: 
03                      21                      27 
27                      21                      27 
第一次之后的输出结果: 
27                      21                       27 
27                      21                       27 


结论:uart_sendbyte(buff) 指针buff内所存的内容,即所指变量的地址,在指向变量前是随机值; 
uart_sendbyte(&buff)  指针自身的地址; 
 uart_sendbyte(&buffer)  变量buffer的地址。

关键字:单片机  C语言  指针  变量 引用地址:单片机中C语言指针与变量

上一篇:枚举在单片机编程的应用
下一篇:单片机低功耗设计小结

推荐阅读最新更新时间:2024-03-16 15:35

单片机教程一:8051单片机引脚功能介绍
首先我们来连接一下单片机的引脚图,如果,具体功能在下面都有介绍。 单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。 ⒈ 电源: ⑴ VCC - 芯片电源,接+5V; ⑵ VSS - 接地端; ⒉ 时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。 ⒊ 控制线:控制线共有4根, ⑴ ALE/PROG:地址锁存允许/片内EPROM编程脉冲 ① ALE功能:用来锁存P0口送出的低8位地址 ② PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。 ⑵ PSEN:外ROM读选通信号。 ⑶ RST/VPD:复位/备用电源。 ① RST(Reset)功能:复位信号输入端。 ②
[单片机]
<font color='red'>单片机</font>教程一:8051<font color='red'>单片机</font>引脚功能介绍
51单片机二进制转换
#include reg51.h #define LongToBin(n) \ (\ ((n 21) & 0x80) | \ ((n 18) & 0x40) | \ ((n 15) & 0x20) | \ ((n 12) & 0x10) | \ ((n 9) & 0x08) | \ ((n 6) & 0x04) | \ ((n 3) & 0x02) | \ ((n ) & 0x01) \ ) #define Bin(n) LongToBin(0x##n##l) void main(void) { unsigned char c; c = Bin(10101001); // c = 0xA9
[单片机]
PIC单片机人机接口模块独立式按键的电路设计
本实例可以分为5部分,如图1所示。   图1  系统组成原理框图   下面将对这5部分分别进行说明。   (1)复位电路。   上电时,对复位电路中的电容充电,也是对PIC单片机进行上电复位的过程,在这一过程中,还可以手工直接按动上电复位中的按键,对其进行复位。   (2)时钟电路。   时钟晶振可以采用主频为0~20MHz的晶振,接法如图2所示。   图2  复位电路和时钟电路   (3)独立式键盘输入。   通过PlC16F877的端口D直接输入,在实际电路实现时,由于会产生抖动,所以,在编程时要采用100ms的延时进行复查,确定后再输出数据。   (4)LED输出。   通过P
[嵌入式]
i.MXRT系列单片机的上电时序要求
做项目前,准备选择意法半导体的STM32单片机;以前做项目,很多时候都选择STM32单片机,包括F1、F4系列,觉得很好用。 从上图可以看到,STM32H7系列处理器,一些型号的主频可以达到550Mhz,加上丰富的外设,完全满足大多数项目的需求。在选型时候,发现STM32H7系列的单片机性价比并不高,加上项目开发周期紧。所以,选择恩智浦的处理器。 i.MXRT系列单片机主频大多数为600Mhz,有些单片机可以达到800Mhz,外设也很丰富,性价比很高。查看数据手册后,发现i.MXRT系列单片机没有内嵌flash,需要外挂。这算是这款的单片机的一个硬伤。 i.MXRT系列单片机电源组较多,包括VDD_SNVS_IN、DC
[单片机]
i.MXRT系列<font color='red'>单片机</font>的上电时序要求
基于89C51单片机的485总线接口的软硬件设计提高可靠性和稳定性
引言 近年来,由于人们防火意识的不断增强以及有关法律、法规的不断完善,火灾自动报警系统得到迅猛发展和广泛应用,已成为预防火灾、保障人民生命和财产安全的最重要手段。这就要求火灾自动报警系统必须具有很高的可靠性和稳定性。 目前,国内火灾报警系统多采用RS485半双工异步通信总线进行联网,实现火灾报警控制器之间,以及火灾报警控制器与火灾显示盘之间的通信。但在实际使用中,往往由于设备数量多、通信线路远以及现场的各种干扰等,造成通信可靠性、稳定性不高,致使联网系统的质量得不到保证。 在火灾自动报警系统的联网设计中,经大量试验,发现在使用RS485总线时,如果简单地按常规方式设计电路,那么在实际工程中可能存在以下两个问题:一是通信数据
[单片机]
基于89C51<font color='red'>单片机</font>的485总线接口的软硬件设计提高可靠性和稳定性
codeblocks+winavr开发avr单片机(atmega16)
在avrfeaks论坛里,有一个帖子是关于在codeblocks环境下(与winavr结合)开发avr单片机的,挺不错的,这里转载一下: I got curious, so I downloaded the current C::B installer. It looks better than when I last used it (a year ago?): - A working installation program, with no need to install graphics packages and stuff (WxWidget, MinGW) separately. - A user manual
[单片机]
codeblocks+winavr开发avr<font color='red'>单片机</font>(atmega16)
单片机---ICC总线EEPROM理论
I2C:同步串行2线方式进行通信(一条时钟线SCL,一条数据线SDA) 是一种串行总线 I2C 总线的主要特点是接口方式简单,两条线可以挂多个参与通信的器件,即多机模式,而且任何一个器件都可以作为主机,当然同一时刻只能有一个主机。 有接入的器件保持高电平,这条线才是高电平,而任何一个器件输出一个低电平,那这条线就会保持低电平,因此可以做到任何一个器件都可以拉低电平,也就是任何一个器件都可以作为主机 虽然说任何一个设备都可以作为主机,但绝大多数情况下我们都是用单片机来做主机,而总线上挂的多个器件,每一个都像电话机一样有自己唯一的地址, I2C总线是通过上拉电阻接正电源。当总线空闲的时候,两根线均为高电平。 I
[单片机]
<font color='red'>单片机</font>---ICC总线EEPROM理论
STM32单片机I/O的工作模式
最近有个朋友在设计低功耗设备,用的是STM32的主控,他知道我做过很多类似的超低功耗项目,于是向我咨询了一些问题,其中就包括I/O口的几种工作模式。今天我就详细的来总结一下这几种工作模式,让大家在以后的设计中知其然也知其所以然。 先说说GPIO 在聊这8种工作模式之前,我想先说一下GPIO的概念—通用输入输出GeneralPurposeInputOutput简称GPIO,就是芯片引脚可以通过它们输出高、低电平,也可以通过他们输入、读取引脚的电压、电平状态。 下面的8种工作模式我将围绕下图进行分析介绍,读懂这一张图大家基本就可以完全理解STM32的GPIO了。希望大家仔细的看一看。 四种不同的输出模式 推挽输出:该模式下引脚
[单片机]
STM32<font color='red'>单片机</font>I/O的工作模式
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved