如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
单片机C语言构造数据类型单片机C语言构造数据类型?1.2.3.4.数组(也可以理解为矢量)[下标从0开始]数组(也可以理解为矢量)下标从0开始]一维数组inta[3]={0,1,2}二维数组inta[2][3]={1,2,3,2,4,6}字符数组charg[8]={‘E’,‘A’…}g[8]={‘’…}数组与储存空间,数组与储存空间,过大数组产生编译错字符/整型/长整或浮点数组元素:字符/整型/长整或浮点数组元素:1/2/4字节1/2/4字节,字节,注意Target选项卡中选项卡中MemoryModel的设定注意Target选项卡中MemoryModel的设定单片机C语言构造数据类型单片机C语言构造数据类型?指针,把变量的地址放到另一个变量(称作指针)中,通过对这个特殊的变称作指针)量进行操作,实现特殊的操作。量进行操作,实现特殊的操作。1.变量的指针——该变量的地址变量的指针——该变量的地址2.指向变量的指针变量——存放别的变量指向变量的指针变量——存放别的变量的地址的专门变量,的地址的专门变量,简称指针变量3.指针变量的定义例5.2指针变量基类型变化的影响P1单片机C语言构造数据类型单片机C语言构造数据类型例5.3指针变量基类型变化的影响P24.指针变量的引用——只存放地址指针变量的引用——只存放地址例5.4通过指针变量访问整型变量Point1int*Point1,*Point2定义整型指针变量Point1=&a;Point2=&b;指定指针变量地址(*Point1)++相当于(*Point1)++相当于a++相当于a++*Point1++相当于指向下一地址单片机C语言构造数据类型单片机C语言构造数据类型例5.5区分热启动和冷启动。热启动,内部区分热启动和冷启动。热启动,RAM数据值不变将保存内存特定区域数据,RAM数据值不变,将保存内存特定区域数据,数据值不变,回存相应的变量中;冷启动,内部RAM数据回存相应的变量中;冷启动,内部RAM数据是随机值,要从外部EEPROM读取上次断电是随机值,要从外部EEPROM读取上次断电时保存的数据,回存相应变量中。时保存的数据,回存相应变量中。STARTUP.A51(略)单片机C语言构造数据类型单片机C语言构造数据类型5.KeilC51指针C51指针a.基于存储器,由C语言代码中存储器a.基于存储器基于存储器,类型决定,以存储器的类型为参量,类型决定,以存储器的类型为参量,编译时才被确定,高效地访问对象,译时才被确定,高效地访问对象,只需1~2字节。字节。idata*,data*,pdata*1字节1字节xdata*,code*2字节2字节单片机C语言构造数据类型单片机C语言构造数据类型b.一般指针3个字节地址内容+0存储器类型12345idataxdatapdatadatacode+1偏移量高位+2偏移量低位单片机C语言构造数据类型单片机C语言构造数据类型指向地址1678H的xdata数据类型的一例,指向地址1678H的xdata数据类型的一般指针地址内容+00x02+10x16+2ox78单片机C语言构造数据类型单片机C语言构造数据类型?存储器地址0~0x007fRAM前RAM前128Bdata0~0x0ff0x20~0x2f0x1000~RAM256BRAM前128B0x1fffRAM前64K外存64K外存中位寻址idatabdataxdatapdata256B单片机C语言构造数据类型单片机C语言构造数据类型?结构——不同类型的数据组成整体结构——不同类型的数据组成整体公交票价3个分量,起点、例,公交票价3个分量,起点、终点和价格定structbusprice义结{构unsignedcharbegin;的类unsignedcharend;型unsignedintprice;};单片机C语言构造数据类型单片机C语言构造数据类型1.先定义结构类型,再定义变量先定义结构类型,定2.定义结构类型同时定义变量结构3.定义结构类型变量型变量类义单片机C语言构造数据类型单片机C语言构造数据类型1.结构不能作为整体赋值、存取、结构不能作为整体赋值、存取、运算函数的参数和返回值。运算函数的参数和返回值。可以取地址或““&”取地址或“.”引用成员2.赋值、成员能赋值、存取、运算。运算。引用“引用“引用“引用“.”3.结构类型的成员可以运算。运算。引用结构类型变量单片机C语言构造数据类型单片机C语言构造数据类型?共用体(union)——变量共用内存,空间共用体(union)——变量共用内存变量共用内存,为最大成员的空间,为最大成员的空间,任意时刻最多存放一个成员的数据,节省内存空间。一个成员的数