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

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

3天内不再提示

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

电子技术控 来源:电子技术控 作者:电子技术控 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个字符。

审核编辑:汤梓红

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

    关注

    6002

    文章

    43982

    浏览量

    620915
  • C语言
    +关注

    关注

    180

    文章

    7534

    浏览量

    128840
  • 字符串
    +关注

    关注

    1

    文章

    552

    浏览量

    20135

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

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

收藏 人收藏

    评论

    相关推荐

    AVR系列单片机C语言编程及应用实例

    AVR系列单片机C语言编程及应用实例对Amel公司的AVR系列单片机和ImageCraft公司的ICC AVR开发环境,详细地介绍了AT9OLS8535的
    发表于 07-11 09:32

    PIC 单片机C语言编程

    PIC 单片机C语言编程  C 语言来开发单片
    发表于 11-03 10:10

    AVR单片机C语言编程及应用实例

    AVR单片机C语言编程及应用实例本书针对Amel公司的AVR系列单片机和ImageCraft公司的ICC AVR开发环境,详细地介绍了AT9OLS8535的
    发表于 03-19 21:28

    单片机C语言中如何对变量的某一位进行操作或赋值

    单片机C语言中如何对变量的某一位进行操作或赋值
    发表于 04-07 14:47

    51单片机proteus仿真单片机端口演示数据的加法和减法运算

    ;//1-2所得的差保存到变量sub中 P0 = add;//P0显示两相加后的和 P1 = sub; //P1显示两相减后的差 while(1)//无限循环,防止程序跑飞。在
    发表于 03-21 16:55

    C语言单片机编程使用的高级语言

    今天主要分享单片机编程使用的高级语言C语言单片机编程中使用C
    发表于 10-20 16:38

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

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

    单片机赋值语句几个机器周期

    单片机赋值语句几个机器周期,之前使用单片机编程时,通常会使用一些较为不专业的语句,现在和大家一起学习下常见的单片机赋值操作;一、把变量的某位
    发表于 07-14 06:33

    51单片机C语言应用基础程序设计

    51单片机C语言应用基础程序设计汇编单片机C语言应用程序设计1
    发表于 07-15 08:33

    51单片机C语言延时函数怎么定义

    描述51单片机C语言延时函数怎么定义C语言定义延时函
    发表于 07-15 06:42

    单片机c语言案例教程,单片机C语言案例教程 精选资料分享

    语言案例教程》介绍以不使用汇编语言,不使用编程器和不使用仿真器的简约型开发手段,Keil C51对51单片机进行系统编程的实用方法,从驱动
    发表于 07-19 06:07

    STM32 单片机C语言课程5-C语言预处理深入剖析2

    STM32 单片机C语言课程2-C语言变量定义以及初始化STM32
    发表于 09-13 11:40

    请问一下C语言单片机编程为什么总是无符号的数据类型来定义

    请问一下C语言单片机编程为什么总是无符号的数据类型来定义
    发表于 10-14 07:55

    为什么单片机C语言和我当初学的C语言有差异呢?

    普通C语言增加了一些基本的指令,变量的赋值是16进制,当然单片机c语言只牵涉到普通
    发表于 11-30 06:20

    请问单片机的是c语言的吗?

    请问单片机的是c语言的吗?
    发表于 11-02 06:46