微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 51单片机之C语言-4.1数据类型

51单片机之C语言-4.1数据类型

时间:11-21 来源:互联网 点击:

型变量。然而:PIN2 a,b;表示a,b都是指向整型的指针变量。因为PIN2是一个类型说明符。由这个例子可见,宏定义虽然也可表示数据类型,但毕竟是作为字符代换。在使用时要非常小心,以避免出错。以上我们概述了数据类型,现在我们各举一个例子说明,例1 比较unsigned char; unsigned int; unsigned long 占用存储空间的大小运行程序之前需要设置keil优化等级,将优化等级设置为0过程如下:在keil界面-> project->Options for target target 1...点击C51,选择Level为0

代码如下:

#include "reg52.h"

sbit LED0=P1^3;

void main(void)

{

unsigned char i;

i=0x30;

LED0=i;

while(1);

}

//输出结果信息 Program Size: data=10.0 xdata=0 code=27

#include "reg52.h"

sbit LED0=P1^3;

void main(void)

{

unsigned int i;

i=0x30;

LED0=i;

while(1);

}

//Program Size: data=11.0 xdata=0 code=32

#include "reg52.h"

sbit LED0=P1^3;

void main(void)

{

unsigned long i;

i=0x30;

LED0=i;

while(1);

}

//Program Size: data=13.0 xdata=0 code=46

//unsigned char: Program Size: data=10.0 xdata=0 code=27//unsigned int: Program Size: data=11.0 xdata=0 code=32//unsigned long:Program Size: data=13.0 xdata=0 code=46可见同样一个数据0x30, 使用不同的数据类型定义,将占据不同的存储空间例2 define的使用

#include "reg52.h"

#define uchar unsigned char //注意后面没有分号

sbit LED0=P1^3;

void main(void)

{

uchar i;

i=0x30;

LED0=i;

while(1);

}

例3 typedef的使用

#include "reg52.h"

typedef unsigned char uchar;//注意后面有分号

sbit LED0=P1^3;

void main(void)

{

uchar i;

i=0x30;

LED0=i;

while(1);

}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top