单片机C语言学习

合集下载

单片机编程入门学习C语言基础

单片机编程入门学习C语言基础

单片机编程入门学习C语言基础在现代科技的发展中,单片机已经成为了各行各业不可缺少的一部分。

单片机的程序设计是单片机应用的基础,而C语言是单片机程序设计的核心语言。

本文将介绍单片机编程入门学习C语言基础的相关知识。

一、什么是单片机单片机是一种集成度非常高的计算机系统,由处理器、存储器、输入输出接口和系统时钟等功能部件组成,能够完成各种控制和处理任务。

与传统的计算机相比,单片机体积小、功耗低、成本低廉,因此在电子产品和嵌入式系统中得到广泛应用。

二、为什么学习C语言基础C语言是一种被广泛应用于单片机编程的高级程序设计语言。

学习C语言基础知识,可以为我们后续的单片机编程打下坚实的基础。

它具有语法简洁、程序结构清晰、运行速度快等优点,使得我们能够更加方便地进行单片机程序的开发和调试。

三、C语言基础知识(一)变量和数据类型在C语言中,变量是程序中用于存储数据的一种标识符。

在单片机编程中,变量的正确使用是非常重要的。

C语言提供了不同的数据类型,包括整型、浮点型、字符型等,我们可以根据具体需求选择合适的数据类型来定义变量。

(二)运算符和表达式C语言提供了丰富的运算符,包括算术运算符、关系运算符、逻辑运算符等。

通过运算符的组合和使用,我们可以实现对变量的各种运算操作。

此外,C语言还支持表达式的使用,通过将变量和运算符进行组合,我们可以得到新的值或表达式。

(三)控制语句在程序设计中,控制语句用于控制程序的执行流程。

C语言提供了多种控制语句,包括顺序结构、条件语句和循环语句。

通过合理使用这些控制语句,我们可以实现程序的逻辑控制和流程控制。

(四)函数和库函数函数是C语言中的一个重要概念,可以将一段独立的代码封装成函数,通过函数的调用来实现代码的复用。

C语言还提供了丰富的库函数,我们可以利用这些库函数来完成特定功能的编程任务,提高开发效率。

四、学习路径和资源要学好C语言基础,我们可以按照以下学习路径进行:(一)了解C语言的基本语法和特性,如变量、数据类型、运算符、表达式等。

单片机C语言编程学习

单片机C语言编程学习

单片机C 语言编程学习一、概述在一个集成电路芯片上集成微处理器、存储器、I/0接口电路,从而构成了单片机。

Intel公司推出了MCS-51系列单片机:集成8位CPU、4K字节ROM、128字节的RAM、4个8位并口、一个全双工串行口、2个16位定时器/计数器。

寻址范围64K,并有控制功能较强的布尔处理器。

二、预备知识<一>、电平特性1、数字电路中只有两种电平:高和低(本课程中)定义单片机为TTL电平:高+5V 低0V2、RS232电平:计算机的串口(-9V~15V) 高-12V 低+12V (+3V~+15V)所以计算机与单片机之间通讯时需要加电平转换芯片max232。

<二>、二进制与十六进制的表示及转换1、二进制:数字电路中的两种电平特性决定了它:0 0 6 110 12 11001 1 7 111 13 11012 10 8 1000 14 11103 11 9 1001 15 11114 100 10 1010 16 100005 101 11 10112、十六进:是二进制的简短表示形式。

十进制中的0-15分别表示为十六进制的0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F3、熟练掌握二进制与十六进制之间的转换。

规律:一般把四个二进制数放在一起转换成一个十六进制数,转换时先把二进制数转换成十进制数,再把十进制数转换成十六进制数。

如:0001B -> 1 -> 1HB表示为二进制,H为十六进制1001B -> 9 -> 9H1010B -> 10 -> AH0010 1100 -> 44 -> 2CH4、二进制各种对制关系:<三>、二进制数的逻辑运算1. “与”运算“与”运算是实现“必须都有,否则就没有”这种逻辑关系的一种运算。

运算符为“· ”, 其运算规则如下:0·0=0, 0·1=1·0=0, 1·1=12. “或”运算“或”运算是实现“只要其中之一有,就有”这种逻辑关系的一种运算, 其运算符为“+”。

单片机c语言课程设计

单片机c语言课程设计

单片机c语言课程设计一、课程目标知识目标:1. 让学生掌握单片机的基本原理和结构,理解C语言在单片机编程中的应用。

2. 培养学生运用C语言进行单片机程序设计和调试的能力。

3. 使学生了解单片机外围设备的接口技术,并能结合实际需求进行简单系统设计。

技能目标:1. 培养学生运用Keil等开发工具进行单片机C语言编程,完成程序设计、编译、下载和调试。

2. 培养学生分析问题和解决问题的能力,能够针对实际应用场景设计单片机控制系统。

3. 提高学生的动手实践能力,通过课程设计,独立完成一个具有实际应用价值的单片机控制系统。

情感态度价值观目标:1. 培养学生积极的学习态度,激发对单片机及嵌入式系统开发的兴趣。

2. 培养学生的团队合作意识,学会在项目中进行有效沟通和协作。

3. 增强学生的创新意识,鼓励他们在课程设计中勇于尝试新思路、新技术。

课程性质分析:本课程为单片机C语言课程设计,侧重于实践操作和实际应用,旨在帮助学生将所学理论知识与实际工程相结合,提高解决实际问题的能力。

学生特点分析:学生已具备一定的单片机原理和C语言基础,具有一定的编程和动手能力。

在此基础上,通过课程设计,提高学生的综合应用能力和创新能力。

教学要求:1. 结合课本内容,注重理论与实践相结合,强化学生的动手实践能力。

2. 以项目为导向,引导学生主动探索,培养学生的问题分析和解决能力。

3. 注重团队合作,培养学生的沟通能力和协作精神。

4. 关注学生的个体差异,实施差异化教学,提高全体学生的学习效果。

二、教学内容1. 单片机基础理论:回顾51单片机的结构、原理及其外围设备的工作原理,重点复习I/O口编程、定时器、中断系统等内容。

教材章节:第一章至第三章2. C语言编程基础:巩固C语言基本语法,包括数据类型、运算符、控制语句、函数等,结合单片机编程需求进行讲解。

教材章节:第四章至第六章3. 单片机C语言编程实践:学习使用Keil开发工具进行单片机C语言编程,掌握程序设计、编译、下载和调试的全过程。

单片机c语言基础知识

单片机c语言基础知识

单片机c语言基础知识C 语言是当今计算机世界使用最广泛的编程语言,其坚实的程序结构,完全模块化的编程方法,还有简单可读的语法等特点,使它在各类软件开发之中应用最为广泛。

单片机C 语言也适用于各类单片机系统,相对其他类型的编程语言而言,少了一些复杂的操作流程,却也可以开发出复杂的应用。

学习单片机 C 语言时,我们首先要了解基本的 C 语言概念,其中包括:1. 标识符所谓的标识符,就是程序代码中使用的变量和函数名称,这些变量和函数名称在编程语言中必须有一个唯一的标识符,否则程序将无法正常运行。

2. 基本类型在 C 语言中,基本类型是指最基本可以储存在内存中的数据类型,其中包括:整型(int),浮点型(float),字符型(char),布尔型(boolean),void 型等。

它们用于描述基本的数据,复杂的数据则需要使用指针、结构体等数据结构来描述。

3. 声明声明是指在程序中给变量赋予特定的数据类型,使变量成为特定的数据类型。

4. 运算符运算符是用于进行计算、比较和逻辑判断等功能的符号,例如 + 、- 、* 、/ 、&& 、|| 等。

5. 语句语句是程序中用于执行具体操作的单一步骤,例如赋值语句、条件语句、循环语句等。

6. 函数函数是按照特定的规则实现具体功能的封装,它使得同一功能可以在多个地方使用,大大提高了代码的利用率。

7. 模块模块是程序中用于完成特定功能的组合,将程序拆分成多个模块,使程序更加灵活,也大大方便程序的维护和修改。

8. 编译编译是把源代码翻译成可以在计算机中正确运行的机器代码的过程,在单片机 C 语言编程中,必须通过编译,才能让程序正常运行。

以上是单片机 C 语言的基础概念,无论从了解基本概念,还是实际操作端都要熟练掌握其中的基础知识,才能在单片机开发中发挥出更大的价值。

51单片机C语言入门教程

51单片机C语言入门教程

51单片机C语言入门教程单片机是一种集成电路,可以完成各种功能。

C语言是一种高级编程语言,可以用来编写单片机的程序。

本文将介绍51单片机C语言的入门教程。

一、选择合适的开发环境选择合适的开发环境是学习51单片机C语言的第一步。

常用的开发环境有Keil C51、SDCC、IAR Embedded Workbench等。

这些开发环境都提供了开发工具和编译器,方便编写和调试代码。

二、了解51单片机的基本结构三、学习C语言的基本语法学习C语言的基本语法是学习51单片机C语言的基础。

C语言包括数据类型、变量、运算符、控制流语句等等。

学习C语言的基本语法可以参考相关的C语言教程。

四、掌握51单片机的特殊功能寄存器51单片机具有一些特殊功能寄存器,可以实现各种功能。

例如,P0是一个I/O口,可以用来控制外部设备的输入和输出;TMOD和TCON分别是定时器/计数器的模式和控制寄存器,可以实现定时和计数功能。

掌握这些特殊功能寄存器可以为后面的单片机编程做好准备。

五、编写第一个51单片机C语言程序编写第一个51单片机C语言程序可以帮助巩固前面学习的知识。

可以从简单的LED闪烁程序开始,逐步扩展到其他功能。

编写程序的过程中要注意语法的正确性和逻辑的合理性。

六、调试程序调试程序是保证程序正确运行的关键。

可以使用仿真器或者调试器对程序进行调试。

调试程序可以查看程序的运行状态、变量的值等等,帮助定位错误并进行修复。

七、深入学习更高级的C语言特性一旦掌握了基本的51单片机C语言编程,可以深入学习更高级的C语言特性。

例如,函数的使用、数组的应用、结构体和指针等等。

这些高级特性可以使程序更加模块化和灵活。

八、练习和实践练习和实践是巩固51单片机C语言编程知识的最好方法。

可以选择一些小项目或者例程进行练习,将理论知识应用于实际。

总结:通过以上的步骤,我们可以初步学习和掌握51单片机C语言的编程。

当然,这仅仅是入门级别的教程,还有很多更深入的知识需要进一步学习和探索。

单片机编程入门学习C语言

单片机编程入门学习C语言

单片机编程入门学习C语言随着科技的不断发展,单片机已经成为了现代电子设备中必不可少的一部分。

而要想进行单片机编程,掌握C语言是非常重要的基础知识。

本文将介绍单片机编程入门学习C语言的步骤和方法。

一、了解单片机和C语言的基本概念单片机是一种集成了处理器、存储器和输入输出设备的微型计算机系统。

它相比于传统计算机的优点在于体积小,功耗低。

而C语言是一种通用的高级编程语言,具有结构化、模块化和可移植性强的特点。

二、学习C语言的基本语法和数据类型要想进行单片机编程,首先需要学习C语言的基本语法和数据类型。

C语言的基本语法包括变量、运算符、表达式、控制语句等。

对于单片机编程来说,常用的数据类型有整型、字符型和浮点型。

三、掌握C语言的输入输出函数在单片机编程中,输入输出函数非常重要。

通过输入函数,可以从外部设备获取数据;通过输出函数,可以将结果显示到外部设备上。

C语言提供了一些常用的输入输出函数,例如scanf和printf函数。

四、了解单片机的编程环境和开发工具为了进行单片机编程,我们需要了解单片机的编程环境和相应的开发工具。

常用的单片机编程环境有Keil和IAR等,它们提供了编写、调试和下载单片机程序的功能。

五、学习单片机的相关知识和常用接口单片机编程不仅仅是学习C语言,还需要了解单片机的相关知识和常用接口。

例如,了解单片机的内存结构、寄存器和位操作等,以及掌握常用的串口通信、并口通信和定时器等接口的使用方法。

六、编写简单的单片机程序并进行调试在掌握了C语言的基本语法和单片机的相关知识之后,可以开始编写简单的单片机程序并进行调试。

通过编写小型的实践项目,可以更好地理解和巩固所学的知识。

七、扩展学习更高级的单片机编程知识一旦掌握了单片机编程的基础知识,可以进一步学习更高级的单片机编程知识。

例如,学习操作系统的原理和应用、学习更复杂的数据结构和算法等。

八、参与单片机编程相关的项目和竞赛为了提高单片机编程的实践能力,可以参与单片机编程相关的项目和竞赛。

单片机c语言教程全集

单片机c语言教程全集
图 1-8 调试运行程序
sylar源于heros
lize314于2010-05-06给此贴评了10分
看推荐视频,得100元卓越礼品券
回复 回复本帖 回到顶端??
单片机c语言教程第二课 C51HEX文件的生成和单片机最小系统??发表于 2009-07-30 15:03:51??我想评分
·C语言提供复杂的数据类型(数组、结构、联合、枚举、指针等),极大地增强了程序处理能力和灵活性;
·提供small、compact、large等编译模式,以适应片上存储器的大小;
·中断服务程序的现场保护和恢复,中断向量表的填写,是直接与单片机相关的,都由C编译异常的重要因素。C语言对数据进行了许多专业性的处理,避免了运行中间非异步的破坏
图 1-6 把文件加入到项目文件组中
(5)C程序文件已被加到了项目中了,下面就剩下编译运行了。这个项目只是用做学 习新建程序项目和编译运行仿真的基本方法,所以使用软件默认的编译设置,它不会生成用 于芯片烧写的 HEX 文件。先来看图 1-7 吧,图中 1、2、3 都是编译按钮,不一样是 1 是用 于编译单个文件。2 是编译链接当前项目,如果先前编译过一次之后文件没有做动编辑改动, 这个时候再点击是不会再次重新编译的。3 是重新编译,每点击一次均会再次编译链接一次,不 管程序是否有改动。在 3 右边的是停止编译按钮,只有点击了前三个中的任一个,停止按钮 才会生效。5 是菜单中的它们。在 4 中能看到编译的错误信息和使用的系统资源情况等, 以后我们要查错就靠它了。6 是有一个小放大镜的按钮,这就是开启\关闭调试模式的按钮, 它也存在于菜单 Debug-Start\Stop Debug Session,快捷键为 Ctrl+F5。

单片机c语言教程pdf版

单片机c语言教程pdf版

单片机c语言教程pdf版标题:单片机C语言教程PDF版引言概述:单片机是一种集成电路,具备处理和控制功能,广泛应用于各个领域。

而C语言是单片机编程的重要基础,掌握C语言对于学习和应用单片机至关重要。

本文将介绍一本单片机C语言教程的PDF版本,内容详实且专业,有助于读者学习和掌握单片机编程。

正文内容:1. 引言1.1 单片机的基本概念1.2 C语言在单片机编程中的重要性2. 单片机C语言教程PDF版的特点2.1 详细的基础知识讲解2.2 实例驱动的学习方法2.3 丰富的实践项目案例3. 单片机C语言教程PDF版的内容3.1 C语言基础语法3.1.1 变量和数据类型3.1.2 控制结构和循环3.1.3 函数和指针3.2 单片机的基本概念和架构3.2.1 单片机的组成和工作原理3.2.2 寄存器和IO口的使用3.2.3 中断和定时器的应用3.3 单片机编程实践3.3.1 LED灯控制3.3.2 数码管显示3.3.3 按键输入和中断控制3.4 进阶应用3.4.1 ADC和DAC的使用3.4.2 串口通信3.4.3 蓝牙和WiFi模块的应用4. 单片机C语言教程PDF版的优势4.1 方便的学习和查阅4.2 适合初学者和进阶者4.3 丰富的实践案例5. 总结5.1 单片机C语言教程PDF版提供了系统而全面的单片机编程知识5.2 通过学习该教程,读者能够掌握C语言和单片机编程的基础和应用5.3 该教程的实践案例能够帮助读者深入理解和应用所学知识总结:单片机C语言教程PDF版是一本内容丰富、专业详实的教程,涵盖了单片机和C语言的基础知识、编程实践和进阶应用。

通过学习该教程,读者能够全面掌握单片机编程所需的知识和技能。

该教程的优势在于方便的学习和查阅方式,适合初学者和进阶者,且提供了丰富的实践案例,帮助读者深入理解和应用所学知识。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机C语言之一________________________________________________________________________________________预处理一》宏定义:1、不带参数:#define 标识符常量表达式/*#define是宏定义命令,宏名(标识符)好习惯用大写*/#define NIL 0x802、带参数:/*相当于小函数*/#define 宏名(参数表) 字符串/*不仅要时行字任串替换还要进行参数的替换,在宏定义时,宏名与带参数的括弧之间不应该加空格,否则将空格以后的字符串都作为替代字符串的一部分,这可是很容易出错的*/如:#define SQ(a,b) a*b使用:x=12;y=10;area=SQ(x,y);/*则area=12*10=120*/二》文件包含:#include <文件名>或#include "文件名"/*在C中用双引用形式更保险,在C51中常用物是尖括弧形式*/三》条件编译:/*一般源程序中的所有程序行都参加编译,但有时希望对其中一部分内容只在满足一定条件下才进行编译,也就是对一部分内容指定编译的条件。

*/#if、#elif、 #else、#endif、#ifdef、#ifndef/*选择不同的编译范围,产生不同的代码,提供通用性。

*//*如对8051在6MHZ与12MHZ下有*/#ifdef cpu==8051#define FREQ 6 /*程序段*/#else#define FREQ 12/*程序段*/#endif/*这样下面的原程序不用做任何修改便可以使用于两种时钟频率的单片机系统*/四》其他:1、#error:捕捉不可预料的编译条件#if (myv!=0&&myv!=1)/*假定其值必为0或1*/#error myv must be 1 or 0/*出错时显示*/#endif2、#pragma:用于在程序中向编译器传送各种编译控制命令#pragma 编译命令序列/*例:想按如下命令编译ex.c c51 ex.c debug cod large可用:*/#pragma DB CD LA#pragma disable/*禁止中断*/单片机C语言之二_____________________________________________________________________________________一》数据类型:char int long1:unsinged 0~255 0~65535 0~42949672952:signed -128~127 -32768~32767 -2147483648~2147483647指针:* 3字节位标量: sbit特殊功能寄存器:sfr16位特殊功能寄存器:sfr16 占2个内存单元,0~65535可寻址位:sbit利用他可访问51单片机的内部RAM中的可寻址位或特殊功能寄存器中的可寻址位sfr P0=0x80;sbit P0_1=P0^1;/*将P0口的口地址定义为80H,将P0.1位定义为P1_1*/二》数据存贮类型表1. C51数据存贮类型━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━数据存贮类型┃与存贮空间的对应关系━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━data ┃直接寻址片内数据存贮区,访速度快bdata ┃可位寻址片内数据存贮区,允许位与字节混合访问idata ┃间接寻址片内数据存贮区,可访问片内全部RAM地址空间pdata ┃分页寻址片外数据存贮区(256字节)由MOVX @R0访问xdata ┃片外数据存贮区(64K),由MOVX @DPTR访问code ┃代码存贮区(64K),由MOVC @DPTR访问━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━━━━变量的存贮类型定义:char data var/*字符变量var被定义为data存贮类型,C51编译器将把该变量定位在51单片机片内数据区存贮区中*/bit bdata flag/*位变量flag被定义为bdata存贮类型,C51编译器将把该变量定位在51单片机片内数据区存贮区(RAM)中的位寻址区:20H--2FH*/三》typedef:重新定义数据类型typedef 已有数据类型新的数据类型typedef int word;/*将word定义为整型*/word i,j;/*将i,j定义为整型*/四》位运算符:━━━━┳━━━━━┳━━━━━┳━━━━━━┳━━━━━━┳━━━━━━~ ┃ & ┃ | ┃ ^ ┃ << ┃ >> ━━━━╋━━━━━╋━━━━━╋━━━━━━╋━━━━━━╋━━━━━━按位取反┃按位与┃按位或┃按位异或┃左移┃右移━━━━┻━━━━━┻━━━━━┻━━━━━━┻━━━━━━┻━━━━━━对移位:如<< ,a<<2,即为将二进制的a左移两位,若a=0x8f,即10001111,a=a<<2,将导致a=0x3c(00111100),右边补零。

五》条件运算符:逻辑表达式?表达式1:表达式2六》指针与地址运算符:*取内容 &取地址七》强制类型转换:(类型)=表达式(char *)0xb000八》sizeof 取数据类型、变量以及表达式的字节数的运算符;九》continue:中断语句:结束本次循环。

单片机C语言之三_____________________________________________________________________________________函数:一》中断服务函数与寄存器组定义:函数类型函数名(形式参数表) [interrupt n][using n]n为中断号,0~31:━━━━┳━━━━━┳━━━━━中断编号┃中断向量┃入口地址━━━━╋━━━━━╋━━━━━0 ┃外中断0 ┃ 0003H━━━━╋━━━━━╋━━━━━1 ┃定时器0 ┃ 000BH━━━━╋━━━━━╋━━━━━2 ┃外中断1 ┃ 0013H━━━━╋━━━━━╋━━━━━3 ┃定时器1 ┃ 001BH━━━━╋━━━━━╋━━━━━4 ┃串行口┃ 0023H━━━━┻━━━━━┻━━━━━后面的n指的是四个工作寄存器组的一个:0~3对函数目标代码影响如下:在函数入口处将当前工作寄存器组保护到堆栈中;指定的工作寄存器内容不会改变,函数返回前将被保护的工作寄存器组从堆栈中恢复!例(定时1ms):#include <reg51.h>sbit P1_0=P1^0;void timer0(void) interrupt 1 using 1{P1_0=!P1_0;TH0=-(1000/256);TL0=-(1000%256);}main(){SP=0x60;P1_0=0;TMOD=0X01;TH0=-(1000/256);TL0=-(1000%256);EA=1;ET0=1;TR0=1;do{}while(1);}/* 注意:1、如果中断函数中用到浮点运算,必须保存浮点寄存器的状态。

(在math.h中保存浮点寄存器函数为pfsave, 恢复浮点寄存器的状态函数为fprestore)2、如果在中断函数中调用了其他函数,则被调函数所使用的工作寄存器组与中断函数的一致!*/单片机C语言之四_____________________________________________________________________________________一、局部变量与全局变量(外部变量):1、全局变量若不在开头定义则加extern2、全局变量会使代码长,占用内存多二、存储方式:自动变量(auto):缺省,函数调用存在,退出消失。

内部变量静态变量(static):static int a=5;始终存在,退出不消失,但不能访问。

寄存器变量(register):速度最快。

通常只给编译器一个建议,由编译器根据实际情况确定。

(见下)变量全局变量(global):外部变量静态变量(static):寄存器变量例:#include<stdio.h>int_power(m,e)int m;register int e;{register int temp;temp=1;for(;e;e--)temp*=m;return(temp);}main(){……}三、函数的参数和局部变量的存储器模式:三种存储器模式:small,compact,large.一个函数的存储器模式确定了函数的参数和局部变量在内存中的地址空间small:内部ramcompact, large:外部RAM函数类型函数名(形式参数表)[存储器模式]例:#pragma large /*默认存储器模式为large*/extern int calc(char I,int b)small; /*指定small模式*/extern int func(int I,float f) large; /*指定large模式*/int large_te(int I,int k) /*未指定,按默认的large模式处理*/{return(mtest(I,k)+2);}利用存储器混合模式编程,充分利用有限的存储空间,还可加快程序的执行速度!单片机C语言之五_____________________________________________________________________________________ 数组1>初始化数组:unsigned char a[5]={0x11,0x22,0x33,0x44,0x55}或unsigned char a[ ] ={0x11,0x22,0x33,0x44,0x55,0x66}3>数组作为函数的参数:不但可以由变量作为函数的参数外,还可以用数组名作为函数的参数。

一个数组数组名表示该数组的首地址。

用一个数组名作为函数的参数时,在执行函数调用的过程中参数传递方式采用的是地址传递。

将实际参数数组首地址传递给被调函数中的形式参数数组,这样一来两个数组就占有同一段内存单元。

见下图:a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9]起始地址1000b[0] b[1] b[2] b[3] b[4] b[5] b[6] b[7] b[8] b[9]用数组名作为函数的参数,应该在主调函数和被调函数中分别进行数组定义而不能只在一方定义数组。

相关文档
最新文档