0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

单片机c语言组数怎么用,怎么定义和赋值

dytfki8u8yql 来源:电子技术控 作者:电子技术控 2022-12-08 08:55 次阅读

今天我们把数组复习一下,数组是怎么用的,怎么对它进行定义,怎么对它进行赋值,然后把字符型数组大概说一下。

1维数组,1维数组就是1串数,怎么定义这1串数呢?数组虽然是1组数,但是我们可以对它单独使用,它就是1组有顺序的数。

3d881c16-7607-11ed-8abf-dac502259ad0.jpg

把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个字符。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6032

    文章

    44513

    浏览量

    632697
  • C语言
    +关注

    关注

    180

    文章

    7597

    浏览量

    136120
  • 字符串
    +关注

    关注

    1

    文章

    577

    浏览量

    20485

原文标题:单片机c语言组数怎么用,怎么定义和赋值

文章出处:【微信号:电子技术控,微信公众号:电子技术控】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    单片机C语言如何产生随机

    单片机C语言如何产生随机 随机单片机的应用中也是很多的,当然产生随机
    发表于 05-14 15:14

    单片机C语言编程中“位”的保存方案

    引言   在现有的教课书及相关文章中,都难得提到在单片机C语言编程中对于自定义“位”的状态进行保存的理念。   当单片机
    发表于 07-06 11:44 2250次阅读

    AVR单片机C语言总纲

    提出了一种学习AVR单片机c语言编程的方法,并提供了完整的教程AVR单片机c语言总纲.
    发表于 04-13 14:59 154次下载

    单片机C语言轻松入门

    单片机c语言的融合,供那些不知道怎么将c语言单片机融合的人学习和借鉴
    发表于 12-21 15:11 26次下载

    单片机C语言轻松入门资料

    随着单片机开发技术的不断发展,目前已有越来越多的人从普遍使用汇编语言到逐渐使 高级语言开发,其中主要是以C
    发表于 04-25 16:48 56次下载

    8051单片机C语言软件设计8051单片机C语言软件设计

    8051单片机C语言软件设计8051单片机C语言软件设计
    发表于 10-16 11:25 92次下载
    8051<b class='flag-5'>单片机</b><b class='flag-5'>C</b><b class='flag-5'>语言</b>软件设计8051<b class='flag-5'>单片机</b><b class='flag-5'>C</b><b class='flag-5'>语言</b>软件设计

    单片机编程什么语言_单片机编程语言推荐

    单片机编程的语言既可以C,也可以用汇编。
    发表于 12-05 11:15 6.3w次阅读

    单片机C语言程序设计的详细资料

    C语言目前己成为电子工程师进行单片机系统开发时的常用编程语言C
    发表于 07-07 14:48 75次下载
    <b class='flag-5'>单片机</b><b class='flag-5'>C</b><b class='flag-5'>语言</b>程序设计的详细资料

    单片机C语言C语言为什么有差异?

    许多小伙伴在学完C语言后想入门单片机,但学着学着发现明明都是C语言,为什么单片机
    发表于 09-01 16:39 3742次阅读

    1.单片机C语言的关系(5)

    单片机C语言的关系1.单片机一般使用C语言来编程2.学习
    发表于 11-10 20:35 18次下载
    1.<b class='flag-5'>单片机</b>和<b class='flag-5'>C</b><b class='flag-5'>语言</b>的关系(5)

    51单片机的IO接口的地址和赋值大小的关系

    关于51单片机的IO接口的地址与赋值大小理解前提了解关于51单片机的IO接口的地址与赋值大小理解其他单片机
    发表于 11-17 10:51 14次下载
    51<b class='flag-5'>单片机</b>的IO接口的地址和<b class='flag-5'>赋值</b>大小的关系

    C语言单片机C语言为什么会有差异?虽不同但理同!

    普通C语言增加了一些基本的指令,变量的赋值是16进制,当然单片机c语言只牵涉到普通
    发表于 11-20 20:06 10次下载
    <b class='flag-5'>C</b><b class='flag-5'>语言</b>和<b class='flag-5'>单片机</b><b class='flag-5'>C</b><b class='flag-5'>语言</b>为什么会有差异?虽不同但理同!

    单片机为什么一直C语言,不用其他编程语言?只有学过的知道!

    单片机为什么还在用C语言编程?答案是:C语言是最适合单片机编程的高级
    发表于 11-23 17:51 11次下载
    <b class='flag-5'>单片机</b>为什么一直<b class='flag-5'>用</b><b class='flag-5'>C</b><b class='flag-5'>语言</b>,不用其他编程<b class='flag-5'>语言</b>?只有学过的知道!

    单片机入门必知 | C单片机C不一样?

    单片机c语言比起普通C语言增加了一些基本的指令,变量的赋值是16进制,当然
    发表于 02-09 11:18 2次下载
    <b class='flag-5'>单片机</b>入门必知 | <b class='flag-5'>C</b>与<b class='flag-5'>单片机</b><b class='flag-5'>C</b>不一样?

    单片机c语言入门指南

    随着单片机开发技术的不断发展,目前已有越来越多的人从普遍使用汇编语言到逐渐使 高级语言开发,其中主要是以 C
    发表于 07-07 14:34 6次下载