嵌入式Linux下C程序设计--05数组.ppt_第1页
嵌入式Linux下C程序设计--05数组.ppt_第2页
嵌入式Linux下C程序设计--05数组.ppt_第3页
嵌入式Linux下C程序设计--05数组.ppt_第4页
嵌入式Linux下C程序设计--05数组.ppt_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

嵌入式Linux下C,内容提要:数组的基本概念一维数组的定义和引用二维数组的定义和引用字符数组的定义和引用,基本概念,一、回顾我们前面使用的数据类型都属于基本类型(整型、实型、字符型)其存储特点是:每个变量单独存储,亦称简单变量。如:x=a;y1=0;y2=-2*x;各变量之间独立存放,无任何联系。,二、构造类型的基本概念在C语言中,变量类型除了前面已介绍的几种基本类型之外,还有另一些复杂类型,合称构造类型。构造类型:是由基本类型构造而成的。(如数组、结构体、共用体、枚举型)构造类型的每一个分量是一个变量,它可以是一个简单类型或者构造类型构造类型的分量的使用方法和简单变量相同构造类型的分量占用相邻的存储空间对于构造类型的变量来说,重点是访问其分量的方法,数组的概念,计算机处理数据时,经常出现数据是用某种有序的形式进行组织的情况。例如:随温度而改变的实验数据按学号排列的成绩表这些数据具有共同的特征1.都是由若干个分量组成2.数据的诸分量都是同一类型(可取任何数据类型)3.这些分量是按一定顺序排列的数组:按序排列的具有相同类型的变量的集合用一符号名(数组名)来表示这一组数用数组名后跟下标唯一地确定数组中的元素数组的首地址、数组元素的类型和个数(数组长度),一维数组,一、定义一维数组类型名数组名1exp,数组名2exp,其中:exp为常量表达式如:inta5,b43;charV9;floatx20,y5*W+1,m4;(W是个符号常量)1、数组名命名规则和简单变量名相同2、数组名后只能是括起来的常量表达式(常量和符号常量)。此用法不对:a(10),xn3、常量表达式的值确定数组元素的个数(数据尺寸),二、一维数组的存储C编译程序是怎么管理一个数组呢?用连续的内存单元存放各个元素保存数组所需内存量与数组元素的基本类型和数组大小有关总字节数=sizeof(基本类型)*数组元素个数如上例:总字节数2*5=10,三、一维数组的应用数组必须先定义后引用C语言规定只能逐个引用数组元素,而不能一次引用整个数组引用一维数组元素的一般形式:数组名下标下标可以是整型常量或整型表达式,下标从0开始,最大下标值为数组元素个数减一,例如:a0=a5+a7-a2*3,数组元素的下标常用循环变量来控制,四、一维数组的初始化1、在定义数组时对数组元素赋以初值如:staticinta4=1,2,3,4;结果:a0=1,a1=2,或inta4=1,2,3,4;a2=3,a3=42、给一部分元素赋初值如:staticintb10=1,2;结果为:b0=1,b1=2,b9=0注:对static数组不赋初值,系统会对所有数组元素自动赋以0值。,3、若对全部数组元素赋初值时,可以不指定数组长度。如:intc=1,2,3,4,5;自动定义c数组长度为5注意:若被定义数组长度与提供初值的个数不相同,则数组长度不能省略。如:inta10=1,2,3,4;,#includeintmain(intargc,char*argv)inta5;intb5=1,2,3,4,5;intc5=1,2,3;intd=1,2,3,4,5;inti;for(i=0;i5;i+)printf(%d,ai);printf(n);for(i=0;i5;i+)printf(%d,bi);printf(n);for(i=0;i5;i+)printf(%d,ci);printf(n);for(i=0;i字符个数1,(字符串后面自动加上一个0),由此可知:数组初始化后,剩余的元素均为0数组未初始化,则static数组元素的值为0,否则元素值是随即的,用一字符串给字符数组赋初值,然后打印初各元素的ASCII编码值,#includevoidmain()charstr=“Thisisastring!”;inti=0;while(stri!=0)printf(“%c=%dn”,stri,stri);+i;printf(“%c=%dn”,stri

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论