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

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

3天内不再提示

声明数组语法及应用案例

vveeverything 来源:跟我学PLC吧 2023-10-23 09:41 次阅读

1

概述

数组是相同数据类型的元素的集合。支持固定长度或可变的一维和多维数组。简单来说:数组是指将相同数据类型的标签的连续集合体用一个名称表示。如下图所示:

064c65c2-6a67-11ee-939d-92fbcf53809c.png

2

声明数组语法

您可以在 POU 的声明部分以及全局变量列表中定义数组。如下图所示:

065d2e20-6a67-11ee-939d-92fbcf53809c.png

06674f86-6a67-11ee-939d-92fbcf53809c.png

01

固定长度数组声明的语法

: ARRAY [..,..,..,..] OF

ll1, ll2, lln标识字段范围的下限。

ul1, ul2,uln标识字段范围的上限。

范围值必须为整数类型。

定义固定长度的数组声明示例

Card_game: ARRAY [1..13, 1..4] OF INT;

02

长度可变的数组声明语法

:ARRAY[* ( , * )+ ] OF ;

// (...)+:一个或多个其他维

定义可变长度的数组声明示例

067e9628-6a67-11ee-939d-92fbcf53809c.png

03

初始化数组

数组完整初始化示例

arr1 : ARRAY [1..5] OF INT := [1,2,3,4,5];

arr2 : ARRAY [1..2,3..4] OF INT := [1,3(7)]; (* 简短:1,7,7,7 *)

arr3 : ARRAY [1..2,2..3,3..4] OF INT := [2(0),4(4),2,3];

(* 简短:0,0,4,4,4,4,2,3 *)

3

应用案例

练习:逻辑阵列应用(如下图)

给定零点坐标,自动将其他点的数据进行运算,并得出结果存入数组中语法简化:

06874124-6a67-11ee-939d-92fbcf53809c.png

PROGRAM SR_Main

VAR

a:ARRAY[0..4] OF INT;

b:ARRAY[0..6] OF INT;

c:INT;

d:INT;

number1:INT;

number2:INT;

start: BOOL;

END_VAR

c:=0;

d:=0;

number1:=0;

number2:=0;

IF start THEN

FOR c:=0 TO 4 BY 1 DO

a[c]:=number1;

number1:=number1+50;

END_FOR

FOR d:=0 TO 6 BY 1 DO

b[d]:=number2;

number2:=number2+50;

END_FOR

END_IF

编辑:黄飞

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

    关注

    8

    文章

    6511

    浏览量

    87600
  • 数组
    +关注

    关注

    1

    文章

    409

    浏览量

    25595

原文标题:03

文章出处:【微信号:跟我学PLC,微信公众号:跟我学PLC吧】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    C语言字符数组与字符串的使用详解

    如果花括号中提供的字符个数大于数组长度,则按语法错误处理;若小于数组长度,则只将这些字符数组中前面那些元素,其余的元素自动定为空字符(即 '�' )。
    发表于 11-24 10:12 1310次阅读

    解读C声明,C基础

    解读C声明的步骤:    1、首先着眼于标识符(变量名或者函数名)    2、从距离标识符最近的地方开始,依照优先顺序解释派生类型(指针、数组和函数)。优先顺序说明如下:      a、用于整理声明
    发表于 01-22 16:05

    创建EDS指针数组语法不工作

    语法会导致XC16声明EDS指针数组吗?_u eds_static INT16U*G_address[NUM_PTRS];/*不工作*/._eds_INT16U*G_address[NUM_PTRS];/*不工作*/Compi
    发表于 08-28 06:55

    请问结构体数组怎么声明

    试试typedefstruct node{ int date; int next;}linklist;话说哪位老司机解释下,结构体数组怎么声明
    发表于 07-30 11:42

    VB数组的使用

    实验六  数组的使用 一、实验目的    (1)掌握数组声明数组元素的引用。    (2)掌握固定
    发表于 09-23 19:28 5834次阅读

    MATLAB数组操作

    matlab是靠它灵活数组操作发的家,但是数组操作也是初学者最难理解的matlab特色之一,因为在其他语言中(如C、pascal)不存在对等的语法和语义。在5.x版中新增添的多维数组(
    发表于 05-28 15:38 0次下载

    JAVA教程之一维数组和二维数组的介绍和应用说明

    声明一个数组就是要确定数组名、数组的维数和数组元素的数据类型。数组名是符合Java标识符定义规则
    发表于 01-16 11:02 0次下载
    JAVA教程之一维<b class='flag-5'>数组</b>和二维<b class='flag-5'>数组</b>的介绍和应用说明

    Keil使用结构体数组的奇怪问题

    数组也在a.h中声明了,然后再在b.c中sizeof(test_array)/sizeof(test_array_s)这样去计算结构体数组的成员个数时会报错。下面详细演示出这个问题:1、a.h中定...
    发表于 11-21 16:36 3次下载
    Keil使用结构体<b class='flag-5'>数组</b>的奇怪问题

    网络和变量的未压缩数组

    数组的维度定义了数组可以存储的元素总数。未压缩的数组可以用任意数量的维度声明,每个维度存储指定数量的元素。声明
    的头像 发表于 05-20 10:14 961次阅读

    DECL:对变量、数组和常数进行声明

    如果 CHAR 类型数组的所有数组元素都拥有相同的字符串,则不必单独初始化每个数组元素。忽略右侧的数组下标。(对于一维数组下标,不写下标。)
    的头像 发表于 07-10 10:27 2483次阅读

    变长数组和动态数组区别

    动态数组是指在声明时,没有确定数组大小的数组,它可以随程序需要而重新指定大小。动态数组的内存空间是从堆动态分配的,当程序执行到我们编写的分配
    的头像 发表于 09-28 15:20 1542次阅读

    三维数组如何用下标表示指针

    比如题目中声明的这个,就是由4个5行3列的二维数组组成。把这些二维数组编个号,就是 0 1 2 3。
    的头像 发表于 11-14 10:38 366次阅读
    三维<b class='flag-5'>数组</b>如何用下标表示指针

    c语言中数组怎么定义

    C语言中,数组是一种用来存储相同类型元素的数据结构。它可以存储多个元素,并通过一个共同的名称来引用这些元素。数组是一种很重要的数据结构,可以用于解决很多实际的问题。 在C语言中,定义数组语法
    的头像 发表于 11-24 10:11 1090次阅读

    C语言中的数组格式与初始化

        数组:只能存放一种数据类型,比如int类型的数组、float类型的数组,里面存放的数据称为“元素”。     数组的定义:     首先声明
    的头像 发表于 11-26 16:12 478次阅读
    C语言中的<b class='flag-5'>数组</b>格式与初始化

    javascript的基本语法遵循的标准

    的基本语法。 变量声明与赋值 在JavaScript中,可以使用关键字 var 、 let 或 const 声明变量。其中, var 是旧版的声明方式, let 和 const 是ES
    的头像 发表于 12-03 11:35 1581次阅读