ardunio编程课程数组与指针(上)课件.pptx

ardunio编程课程数组与指针(上)课件.pptx

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第79课:数组与指针(上)陪孩子一起学Arduino

——机器人从零学起

本课任务:1.理解一个数组名指代该数组起始地址的含义2.学会用指针的方式操作数组,理解字符数组的特殊性3.学习定义指针数组,并学会取指针数组中的地址与具体内容

数组名也是地址数组名:数组名本身代表该数组的起始地址。104598322数组a地址:256258260262264测试代码:inta[]={10,45,98,3,22};voidsetup(){Serial.begin(9600);Serial.println((long)a);Serial.println((long)(a+1));Serial.println((long)(a+2));Serial.println((long)(a+3));Serial.println((long)(a+3));}

//省略了loop函数

*取值运算取数组元素inta[]={10,45,98,3,22};voidsetup(){Serial.begin(9600);Serial.println(*a);Serial.println(*(a+1));Serial.println(*(a+2));Serial.println(*(a+3));Serial.println(*(a+4));}voidloop(){}

用指针操作数组inta[]={10,45,98,3,22};int*ptr_a=a;voidsetup(){Serial.begin(9600);Serial.println(*ptr_a++);Serial.println(*ptr_a++);Serial.println(*ptr_a++);Serial.println(*ptr_a++);Serial.println(*ptr_a);}voidloop(){}

说明:指针可以进行自加,自减,数组名不可以

字符数组字符数组的特殊性:字符数组在内存中,存储的是一段连续的字符,这就组成了字符串。abcde数组c1示例:charc1[]={a,b,c,d,e};

字符数组与指针charc1[]={a,b,c,d,e};charc2[]=abcde;char*ptr_c=c2;voidsetup(){Serial.begin(9600);/*字符数组是比较特殊的数组,字符数组在程序内部是一段连续的字符,这就组成了字符串,打印数组名就是打印该字符串书写格式上,字符数组的值也可以直接填入字符串*/Serial.println(c1);Serial.println(c2);Serial.println(ptr_c);Serial.println(*ptr_c);}voidloop(){}

指针数组定一个指针数组:char*c[]={abcd,efgh};内存分析:指针0指针1指针数组cabcd\0efgh\0256258281282283284285286287288289290

打印指针数组的字符串char*c[]={abcd,efgh};voidsetup(){Serial.begin(9600);Serial.println(sizeof(c));//指针数组的长度(指针固定占用两个字节)/*数组名就代表数组第0号元素的地址,所以对数组名取值,就是取数组第0号元素的值

即:*c同c[0]打印c[0],c[0]是一个字符指针(字符串),打印输出c[0],系统会把c[0]字符串打印出来*/Serial.println(*c);Serial.println(c[0]);Serial.println(c[1]);}voidloop(){}

打印指针数组的地址char*c[]={abcd,efgh};voidsetup(){Serial.begin(9600);/*打印指针c[0],c[1]本身的地址,*c同c[0]*/Serial.println((long)(*c));Serial.println((long)(c[0]));Serial.println((long)(c[1]));/*打印指针c[0],c[1]他们所指向的数组的地址,字符串结尾默认有一个\0

文档评论(0)

中小学PPT课件 + 关注
实名认证
内容提供者

中小学PPT课件

1亿VIP精品文档

相关文档