嵌入式c编程 01_数组与字符串

嵌入式c编程 01_数组与字符串

ID:20826421

大小:1.10 MB

页数:25页

时间:2018-10-16

嵌入式c编程 01_数组与字符串_第1页
嵌入式c编程 01_数组与字符串_第2页
嵌入式c编程 01_数组与字符串_第3页
嵌入式c编程 01_数组与字符串_第4页
嵌入式c编程 01_数组与字符串_第5页
资源描述:

《嵌入式c编程 01_数组与字符串》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数组与字符串课程安排n什么是数据的组合n数组与维度n字符数组与字符串n常用字符串处理函数从回顾开始程序=数据(组合)+语句(组合)学习了C基本数据类型!学习了各种表达式语句!学习了语句组合流程:流程控制!那么在C语言里,数据是如何组合的?C组合数据类型相同类型数据组合数组字符串枚举不同类型数据组合结构联合课程安排n什么是数据的组合n数组与维度n字符数组与字符串n常用字符串处理函数数组概念1l数组变量定义//类型数组名[数组元素个数]intscore[3];//学生的3门功课成绩l定义&初始化intsco

2、re[3]={0};intscore[3]={80,90,70};intscore[]={80,90,70};//好处是可以根据初始化需要扩展元素个数l数组元素通过下标逐个引用for(i=0;i<3;i++)printf(“第%d科成绩是%d”,i,score[i]);l数组越界会怎么样?score[3]=100;score[4]=95;数组概念2l数组变量占用的内存空间//数组名代表数组首地址printf("scoreis%x",score);printf("scoreis%p",score)

3、;//数组元素地址,数组的内存空间是连续的printf("scoreis%p",score);printf("scoreis%p",&score[0]);printf("scoreis%p",&score[1]);printf("scoreis%p",&score[2]);l数组类型数组的类型即是数组元素的类型数组元素具备相同数据类型,在数组变量定义时指定数组概念3l数组大小size=sizeof(score);//等于每个元素大小的总和size=sizeof(int)*3;l数组元素个

4、数intscore[]={80,90,70};cnt=sizeof(score)/sizeof(int);//求数组元素个数的通用方法cnt=sizeof(score)/sizeof(score[0])数组概念4l数组维度//定义二维数组intscore[2][3]=//两个学生各自的三门功课成绩{{80,90,70},{75,65,55}};可以理解为score是2个元素的数组,每个元素又是包含3个元素的数组可以定义多维数组变量,但一般情况下用到二维已经足够了!二维数组1l二维数组元素引用for(i=

5、0;i<2;i++){for(j=0;j<3;j++){printf(“第%d个人的第%d科成绩是%d”,i,j,score[i][j]);}}二维数组2l二维数组定义&初始化intscore[][3]=//好处是可以根据初始化需要扩展元素个数{{1,2,3},{4,5,6},{7,8,9},{10,11,12},};l二维数组大小与元素个数size=sizeof(score);cnt=sizeof(score)/sizeof(score[0][0]);size=sizeof(int)*cnt//数

6、组大小等于每个元素大小总和二维数组3l二维数组地址二维数组的内存空间也是连续的:下一行首地址紧接上一行尾地址printf(“scoreis%p”,score);//二维数组首地址printf(“score[0]is%p”,score[0]);//二维数组第一行首地址printf(“score[1]is%p”,score[1]);//二维数组第二行首地址printf(“&score[0][0]is%p”,&score[0][0]);//第一个元素地址printf(“&score[1][0]

7、is%p”,&score[1][0]);//第二行第一个元素地址数组使用实例l用数组保存数据,可以做到快速定位(通过下标)l如:学生的第2门功课成绩:score[1]l如:第2个学生的第3门功课成绩:score[1][2]l但要寻找某个特定数值的元素,就没那么方便了(需要轮询)!l某个学生中不及格的功课?l所有学生的所有科目中,不及格的功课?课程安排n什么是数据的组合n数组与维度n字符数组与字符串n常用字符串处理函数什么是字符数组l如何把你的名字保存在数组中//需要用到字符型数组//顺序将名字中的每

8、个字符保存到数组元素中charname1[]={‘x’,‘n’,‘f’};为name1分配了多少内存空间?字符数组初始化l一个一个字符初始化太笨拙了!charname[]={‘x’,‘n’,‘f’};l能不能一串名字初始化进去?charname2[]={“xnf”};为name2分配了多少内存空间?注意:多了一个字符串结束符‘’!字符数组赋值l能够为整个数组赋值吗?charname[4];name=“xnf”;?l只能为数组元素赋值ch

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。