首页 AVR单片机 8051单片机 PIC单片机 msp430应用 motorola单片机 C166单片机 开关电源 电源设计 电源技术应用 电磁兼容
ARM芯片开发 DSP开发技术 PowerPC处理器 RABBIT单片机 嵌入式系统设计 工业控制 控制电路 PLC编程 机器人技术 电机原理
vhdl语言学习 asic芯片技术 fpga培训 cpld编程 verilog hdl Vxworks开发 wince开发教程 嵌入式linux uclinux开发 ucos入门
电路设计 数字电路设计 模拟电路设计 音频电路设计 模拟滤波器设计 电子技术基础 电子名词解析

首页->微处理器->单片机8051->正文

c语言编程的难点

作者:  来源:51mcu 

上篇:单片机的C语言应用程序设计
下篇:没有了

 

1. 指针是c语言中一个重要的组成部分,使用指针编程有以下优点:
(1)提高程序的编译效率和执行速度。
(2)通过指针可使用主调函数和被调函数之间共享变量或数据结构,便于实现双向数据通讯。
(3)可以实现动态的存储分配。
(4)便于表示各种数据结构,编写高质量的程序。

2. 指针的运算
(1)取地址运算符&:求变量的地址
(2)取内容运算符*:表示指针所指的变量
(3)赋值运算
·把变量地址赋予指针变量
·同类型指针变量相互赋值
·把数组,字符串的首地址赋予指针变量
·把函数入口地址赋予指针变量
(4)加减运算
对指向数组,字符串的指针变量可以进行加减运算,如p+n,p-n,p++,p--等。对指向同一数组的两个指针变量可以相减。对指向其它类型的指针变量作加减运算是无意义的。
(5)关系运算
指向同一数组的两个指针变量之间可以进行大于、小于、 等于比较运算。指针可与0比较,p==0表示p为空指针。

3. 与指针有关的各种说明和意义见下表。
int *p;     p为指向整型量的指针变量
int *p[n];   p为指针数组,由n个指向整型量的指针元素组成。
int (*p)[n];  p为指向整型二维数组的指针变量,二维数组的列数为n
int *p()    p为返回指针值的函数,该指针指向整型量
int (*p)()   p为指向函数的指针,该函数返回整型量
int **p     p为一个指向另一指针的指针变量,该指针指向一个整型量。

4. 有关指针的说明很多是由指针,数组,函数说明组合而成的。
但并不是可以任意组合,例如数组不能由函数组成,即数组元素不能是一个函数;函数也不能返回一个数组或返回另一个函数。例如
int a[5]();就是错误的。

5. 关于括号
在解释组合说明符时, 标识符右边的方括号和圆括号优先于标识符左边的“*”号,而方括号和圆括号以相同的优先级从左到右结合。但可以用圆括号改变约定的结合顺序。

6. 阅读组合说明符的规则是“从里向外”。
从标识符开始,先看它右边有无方括号或园括号,如有则先作出解释,再看左边有无*号。 如果在任何时候遇到了闭括号,则在继续之前必须用相同的规则处理括号内的内容。例如:
int*(*(*a)())[10]
↑ ↑↑↑↑↑↑
7 6 4 2 1 3 5
上面给出了由内向外的阅读顺序,下面来解释它:
(1)标识符a被说明为;
(2)一个指针变量,它指向;
(3)一个函数,它返回;
(4)一个指针,该指针指向;
(5)一个有10个元素的数组,其类型为;
(6)指针型,它指向;
(7)int型数据。
因此a是一个函数指针变量,该函数返回的一个指针值又指向一个指针数组,该指针数组的元素指向整型量。

相关资料:
单片机的C语言应用程序设计关于单片机硬件抗干扰
学用8051单片机的常见问题微处理器硬件电路设计的几个基本问题
51系列单片机I/O口上拉电阻使用点滴关于C51的中断编程
嵌入式系统综述MCS-51单片机实用子程序库(7)
MCS-51单片机实用子程序库(6)MCS-51单片机实用子程序库(5)
MCS-51单片机实用子程序库(4)MCS-51单片机实用子程序库(3)
MCS-51单片机实用子程序库(2)MCS-51单片机实用子程序库(1)
单片机基础知识接口技术的基本知识


网站地图 | 联系我们 | 免责声明 | 招聘信息 | 友情链接
Copyright © 2005 - 2006 单片机设计网