电子说
今天我们把数组复习一下,数组是怎么用的,怎么对它进行定义,怎么对它进行赋值,然后把字符型数组大概说一下。
1维数组,1维数组就是1串数,怎么定义这1串数呢?数组虽然是1组数,但是我们可以对它单独使用,它就是1组有顺序的数。
把1组有顺序的数给它存到1个连续的存储空间中,这就是数组在单片机的应用,某公司1共有50个人,我们50个人的编号就可以存到1个数组里,这个数组的长度就是50,里面存50个数,在定义了1个存储长度是50个数的数组,单片机就会自动给我们分配1个连续的存储空间,这50个数的数组在单片机中,存储的方式是连续存储的地址是1个挨着1个,没有任何间隔定义,这个能存50个数的数组,它的存储类型是1个整形。
如果我想单独把5号这个编号拿出来使用的话,那我直接就可以针对这个存储地址对它进行赋值。
比如说我们编号为5号同事名字是小李,但她突然离职,但是又来了1个新同事,又来了1个同事叫小王,这个小王没有编号,但是小李的编号是5号,可是它又离职了,那我就可以让小王变成5号,就要把5号这个编号对应到小王的身上。
就是我定义数组的时候,它给我开辟了1串连续的存储空间,这个存储空间里面要存什么是我决定的,我想让它存什么存什么,这就是我们数组的赋值,可以给这个数组里面任何1个数进行单独赋值,1维数组,2维数组都是这样的,不要把它想成1个数组,1串数这么复杂,只要把它想成就是1个1个的数,你可以把它当1个数用,只是在表达1个数的时候,比方说表达1就是1,表达2就是2,但是这个数组你想表达1的时候,你就是A1,向你表达2的时候就是A2,它只是名字不1样,表达方式不1样,其实用起来还是跟我们所定义的那个整形变量是1样用的。
我们再看1下2维数组的赋值。
给1个3行4列的整型数组赋值,这个赋值后的结果是什么样子,比方说定义1个3行4列的整型数组a,我第1行只给它赋了1个数1,第2行给它赋了1个数5,第3行给它赋了1个数5,这个数组最后是什么样子的,数组的第1行只有1个数,就是1,它是3行4列,所以说它的第1行有4列,第1行是4个数,但是它只给赋了1个数1,那就代表第1行的第1个数是1,其它3个数都是0,那它的第1行肯定就是1000,那第2行它就赋了1个5,那它的结果肯定就是第1个是5,然后后面的3个都是0,那第3行附了1个9,同样第1个数是9,后面3个数都是0,我们现在先来看1下这个小程序,这个小程序它开始定义了1个十行十列的数组,这十行十列的数组是1个浮点类型的数组,而且这个浮点型的数组是存在我们的片外存储器中的,因为它用了1个X data,它又定义了1个浮点型的1个变量X,这个X也是存储在外部存储器中的,它让这个数组的第5行的第0个数,把这个数给它赋值给。X这个变量就相当于2维数组中存的所有的数,都能把它单独拿出来,单独使用,把它单独赋值给1个其它类型的变量,而且同种数据类型的数我就可以相互赋值,数组里面的数可以复制给其它的变量,其它的变量也可以赋值给数组里面的任意1个数,这都是可以的,这就是我们数组在程序中的应用。
现在来讲最后1种数组,字符型数组,字符型数组其实跟之前所说的整型数组、浮点型数组是1样的,它就只是它里面存的那个数据类型是1个字符型的而已。
以女人举个例子,女人的英文是woman,那我九可以把这个单词存储到我的字符型数组里面,woman这个单词1共是5个字母,可以把我这5个字母存到我1个数组里面,如果把字符型数组按照我们之前讲的那些,数组和浮点型数组的赋值方式,这样给它赋值,我们的系统中是会给你报错的。
首先这个woman一共是5个字母,我再给它定义我这个数组的大小的时候,不能仅仅给它定义这5个字母是字符型数组的最后1个数,我们是要给它空下来的那个数,就是1个固定的字符型数组的1个结束标志为这个标志位1定是/0,你可以给它定义这个/0,你也可以不给它定义这个/0,不给它定义的时候,它自己会自动给它填上这个/0,就是我定义1个字符型数组的时候,它的系统在它最后1个存储单元中给它规定了,这个存储单元什么也不能存,就只能存储1个结束的那个标志位,所以说我们这个woman它1共是5个字母,给它定义数组大小的时候,一定要大于等于六个,才能把这个woman给存得下,否则这个woman存不下的。
如果给它赋值的话就给它赋1个结束标志位,就是那个/0,不给它赋的时候会自动加上1个/0。
定义字符型的2维数组的时候也是一样的,因为2维数组里面存的是很多个1维数组,就相当于2维数组里面是存的是很多串数,所以说再定义2维数组它的大小的时候,第1个表达式就是它1共是几个字符串,但是第2个表达式,列数1定要是那么多字符串中最长的那个字符串,还要加1,因为要留1个空间给它存它的结束标志,写个0。
我们定义1个字符型的2维数组,A8081,是不是1共存80个字符串,而且它这80个字符串中最长的1个字符串1共是80个字符。
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !