Keil中C51编程注意要点(更新)

主要是日常的一些繁琐的编程问题,死活查不出来,个人新手,如果有问题或者不全面,请指正!

一、指针部分

1、同时定义两个指针注意

    C语言语法规则。

int* a,b;    //a为指针,b不为指针

2、指针和普通变量定义和赋值先后注意

    原因暂未知。

    错误示例

uchar led_wr(uchar num){    //错误,Keil C51编译器报错,左值错误

	uchar* xdata i;
	i=0xe000;        //先定义和初始化指针

	uchar code led_num[12]=        //后定义数组变量
		{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,
		0x00,0xff};

	*i=led_num[num];
	return 0;
}

    正确示例

uchar led_wr(uchar num){    //Keil C51编译器编译通过

	uchar code led_num[12]=        //先定义数组变量
		{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,
		0x00,0xff};

	uchar* xdata i;
	i=0xe000;        //后定义和初始化指针

	*i=led_num[num];
	return 0;
}

3、C51中,定义外部存储指针数据注意

    对C语言指针符号“*”,认识不深入。

<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值