精华内容
下载资源
问答
  • ST语言数组声明
    千次阅读
    2021-01-19 10:39:51

    ST语言作为PLC编程的标准语言,软PLC的使用越来越多,也逐渐受到了更多的工程师的喜爱,我们探讨这里的问题。

    • 数组声明
      我们很多工程师这么声明数组
    HMI_bWholeHmi    AT%MW14380   :ARRAY[1..20] OF WORD;   
    

    熟悉高级语言编程的朋友,肯定知道一般数组引用从0开始,但是作为PLC的工程师,多数喜欢1对1的命名方式,错位会让大家很不舒服。但是值得说明的是,这种命名是存在风险的,有可能在引用时指向一个空指针,从而导致程序死机。

    • 举个例子
    int i ;
    HMI_bWholeHmi[i] := true;
    

    由于我们定义数组从1开始,如对i进行引用,就必须保证i不小于1,并且即便注意了这点,如采用了for循环来操作这些位,则又易赋0进去。例如:

    for i := 1 to num by 1 
    	HMI_bWholeHmi[i]:=false;
    end for
    

    如不注意num的赋值时机,则可能这行程序先默认给num赋值0,从而造成数组访问到一个不在定义中的数组HMI_bWholeHmi[0]这样程序由于无法访问到这个变量,从而报错,引起程序挂机。
    所以还是需要从0开始声明数组,改成如下:

    HMI_bWholeHmi    AT%MW14380   :ARRAY[0..20] OF WORD; 
    

    那么有的人会说,我怎么1对1呢,其实很简单,就是不用下标为0的数组,这一点是很灵活的。

    更多相关内容
  • php教程:数组声明,遍历,数组全局变量 复制代码 代码如下: <? /* * 一、数组的概述 * 1.数组的本质:管理和操作一组变量,成批处理 * 2.数组时复合类型(可以存储多个) * 3.数组中可以存储任意长度的数据,也可以...
  • Java二维数组声明

    2020-06-27 16:10:10
    二维数组声明 java中使用 [][] 来定义二维数组 定义数组时也可同时初始化 下面是一些例子 float[][] matrix; //定义一个float类型的2维数组 matrix=new float[5][5]; //为它分配5行5列的空间大小 matrix[0][0]=1.1f;...

    二维数组声明

    java中使用 [][] 来定义二维数组 定义数组时也可同时初始化

    下面是一些例子
    float[][] matrix;             //定义一个float类型的2维数组
    matrix=new float[5][5];       //为它分配5行5列的空间大小
    matrix[0][0]=1.1f;            //通过下标索引去访问     1行1列=1.1
    long[][] num=new long[5][];     //定义一个long类型的不规则数组
    num[0]=new long[5];             //为第1行分配5列
    //定义double型的数组分配3行3列的空间同时赋值
    double[][] num1={{1.111D,2.222D,3.333D},{4.444D,5.555D,6.666D}};
    
    int[][] num2=new int[][]{{10,20,30},{40,50},{60}};
    
    展开全文
  • C++ 数组声明,初始化详解

    千次阅读 2020-06-02 01:41:22
    数组声明 数组声明的基本格式如下: typeName arrayName[arraySize];( eg. int cost[7]; ) 元素的类型 数组名 元素数(数组大小) 注意: arraySize不可以是一个变量 数组编号是从0开始的 数组初始化 数组...

    数组(array)是一种复合类型的数据格式,能够存储多个同类型的值,每个值都存储在一个个独立的数组元素中,计算机将元素依次存储在内存中。

    数组

    数组声明

    数组声明的基本格式如下:

    typeName arrayName[arraySize];( eg. int cost[7]; )

    • 元素的类型
    • 数组名
    • 元素数(数组大小)

    注意:

    1. arraySize不可以是一个变量
    2. 数组编号是从0开始的
      在这里插入图片描述

    数组初始化

    数组初始化有两种方法

    1. 使用索引为元素逐个赋值

    cost[0] = 1;
    cost[1] = 2;

    1. 在声明时使用初始化列表赋值

    int cost[7] = {1, 2, 3, 4, 5, 6, 7};
    也可以int cost[7] {1, 2, 3, 4, 5, 6, 7}; (C++11 标准可省略 = )

    (C++11标准可将后面的大括号设置为空白,即所有元素全为0;

    int cost[7] = { }; 或者 int cost[7] { };

    列表初始化禁止缩窄转换;)

    long shifs[4] = {2, 4, 3.0}; 浮点数转换为整数属于缩窄操作

    数组初始化的规则

    • 只有定义数组时才能使用列表初始化
    • 可以随时使用下标为数组元素赋值
    • 不可将一个数组的赋给另一个数组
    • 列表初始化数组提供的值可以少于元素数目,未初始化的元素赋值为0
    • 列表初始化数组的[ ]内可以设置为空,编译器将自动计算元素个数
    展开全文
  • [C]C语言声明/函数声明/数组声明

    千次阅读 2019-10-05 00:32:16
    括号()表示这是一个函数,而方括号[]表示这是一个数组。 3.前缀操作符: *表示“指向...的指针” 另外,对于有const或volatile关键字的声明,当const或volatile后面紧跟类型说明符(int, long等...

    理解复杂的C语言声明的方法是从声明中的名字开始,按照优先级顺序依次读取。优先级规则如下:

    1.声明中被括号括起来的部分

    2.后缀操作符:

       括号()表示这是一个函数,而方括号[]表示这是一个数组。

    3.前缀操作符:

       *表示“指向...的指针”

    另外,对于有const或volatile关键字的声明,当const或volatile后面紧跟类型说明符(int, long等),那么它作为类型说明符。其他情况下,const或volatile作为用于它们左边紧邻的指针星号。


    例,char *(* c[10])(int **p)意为,c是一个数组,它的元素类型是函数指针,其所指向的函数的参数为指向int指针的指针,返回值是一个指向char的指针。

    int (*(*f)())[10]意为,f是一个指向函数的指针,该函数的返回值是一个指针,该指针指向一个大小为10的int数组。

    Pointers on C, P258; Expert C Programming, P64.

    转载于:https://www.cnblogs.com/nju-dwk/archive/2012/09/06/2674067.html

    展开全文
  • C与JAVA在二维数组声明省略行列的问题

    千次阅读 多人点赞 2019-12-07 16:04:17
    C语言与JAVA在二维数组声明省略行列的问题 我在学习过程遇到了一个C语言二维数组声明省略行列的问题,因为学习了JAVA所以做题时纠结很久,因为记得JAVA二维数组每行的元素个数可以不同,所以认为必须声明行数可以...
  • c++二维数组声明

    千次阅读 2020-03-06 11:11:57
    一、一维数组 静态 int array[100]; 定义了数组array,并未对数组进行初始化 静态int array[100] = {1,2}; 定义并初始化了数组array 动态int* array = new int[100]; delete []array; 分配了长度为100的...
  • C# 常见数组声明与使用

    千次阅读 2019-02-11 22:45:01
    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;...namespace _0210_数组声明 { class Program { static void Main(string[] ...
  • 数组声明和赋值总结

    万次阅读 2018-03-18 19:11:27
    声明数组声明数组变量仅有一种语法,即:数据类型[] 变量名,比如:string[] strs;这句代码应该这样理解:变量strs的类型是数组strs的每一项存放的数据是string变量strs还未被赋值数组的赋值我们知道,变量的三要素是...
  • 整型数组声明与定义

    千次阅读 2020-02-08 17:28:10
    声明数组int arr[9] 定义数组,输入数据截止到下标 arr[6],系统自动给arr[7] arr[8] 赋值为 0 int x; //输入数据 int i = 0 ; //记录位数 int a[5]; //存储逆序 int temp; printf("输入数据x:"); scanf(...
  • Java多维数组声明格式

    千次阅读 2019-04-20 22:49:42
    关于多维数组声明的形式你知道哪几种呢? 首先先上一个错误的例子: 这里arr9 - arr11在等式右边都错误的在中括号中加了数组大小,导致报错; 而arr11、arr12则是等式右边二维数组初始化时没有赋予初始大小导致报错...
  • java的数组声明方式

    千次阅读 2018-12-27 18:13:40
    **java中的数组声明方式介绍** 事例: java中声明数组的方式: 1. String [] hello1 = {1,2,3,4}; 2. String [] hello2 = new String[4]; 3. String [] hello3 = new String[]{1,2,3,4}; 代码如下: public ...
  • Java基础(五):Java数组声明与初始化

    千次阅读 多人点赞 2021-01-04 11:31:27
    初始化就是为数组的数组元素分配内存空间,并为每个数组元素附初始值。 注意:数组完成初始化后,内存空间中针对该数组的各个元素就有个一个默认值: 基本数据类型的整数类型(byte、short、int、long)默认值是...
  • 数组 数组的定义: 相同类型的有序集合 按照一定的先后次序排列而成 每一个数组元素通过下标来访问他们 注意: 长度是确定的,一旦被创建,它的大小就是不可变的,即长度不变 ...数组声明和创建 声明数组
  • 数组声明和定义的注意事项

    万次阅读 2018-02-08 11:53:26
    一、不允许数组拷贝和赋值... //错误:不能把一个数组直接赋值给另一个数组二、复杂的数组声明int arr[10];int *ptrs[10]; //ptrs是含有10个整形指针的数组int &amp;refs[10]=/*?*/; //错误:不存在引用的数组i...
  • 1、数组 数组就是一个变量,用于将相同数据类型的数据存储在内存中。数组中的每一个数据元素都属于同一数据类型。例如,全班50个学生的成绩都是整型,就可以存储在一个整型数组里面。 我们知道声明一个变量就是在...
  • C++数组声明的方式

    千次阅读 2016-04-21 09:18:21
    指针数组:array of pointers,即用于存储指针的数组,也就是数组元素都是指针数组指针:a pointer to an array,即指向数组的指针还要注意的是他们用法的区别,下面举例说明。int* a[4] 指针数组 表示:数组a中的...
  • Java数组声明和创建

    2020-07-12 23:00:49
    Java数组01:数组声明和创建 数组的定义 数组就是相同类型数据的有序集合。 数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。 其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标...
  • keil C数组声明问题

    万次阅读 2017-12-06 20:14:14
    C语言中,我们声明一个一维数组,可以用以下几种方法 int buf[3]; int buf[] = {0}; int buf[3] = {1,2,3}; 但是今天在keil中 使用int buf[] = {0}这种方式进行声明,发现编译正常通过,但是运行时,出现...
  • python 声明数组

    2020-11-30 00:21:15
    广告关闭腾讯云11.11云上盛惠 ,精选热门产品助力上云... 我希望我的函数在一个数组中保存变量。 但是在我完成我的函数之后,数组也消失了。 如何使我的数组在python中保持静态? 我想在几个功能中修改它。 py_ppl =...
  • 下面小编就为大家带来一篇关于js二维数组和多维数组的定义声明(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 下面,我们将了解数组的概念,数组声明与使用,以及数组内存的操作(初始化,数组复制等)。后面,我们将顺带了解字符串相关内容。 数组概念   请大家先考虑以下数学中的数列,它们使用下标来区分其中元素。数组...
  • Python数组定义方法

    2020-09-21 16:47:45
    主要介绍了Python数组定义方法,结合实例形式分析了Python一维数组与二维数组的定义方法与相关注意事项,需要的朋友可以参考下
  • Java中数组声明和初始化

    千次阅读 2015-11-26 12:23:23
    在c语言中,通常我们在声明数组的时候,可能不会对其赋初值并且可以指定数组的元素个数,如: int a[10]; 之后的语句可以对数组a[10]进行直接的赋值和操作。 在java中,声明数组会有所不同,如 int[ ] a...
  • 1、什么是数组 若将有限个类型相同的变量的集合命名,那么这个名称为数组名。...数组声明并不是声明一个个单独的变量,比如number0,bumber1……,而是声明一个数组,比如numbers,然后使用number[0],numbe...
  • 数组声明以及初始化

    千次阅读 2016-10-13 16:38:35
    本文转载自:... 1、字符数组的定义与初始化  字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素。  char str[10]={ 'I',' ','a','m',' ',‘h’,'a','p','p','y'};
  • 数组声明和使用

    2021-06-12 23:06:47
    数组 数组是一些相同类型的对象的集合,这些对象具有一定的顺序关系,在逻辑上是连续的,在内存中的存储上也是连续的。这些组成数组的对象叫做这个数组的元素。...数组声明形式为:数据类型 标识符[常量表达式
  • 众所周知,在声明数组时,例如,如果要声明一个包含10个元素的数组,则需要传递最大数量的元素。 您需要在声明时通过10 。 示例: int arr [10]; But, there is a good way, to define a constant by using Macro ...
  • 数组声明

    千次阅读 2020-08-08 10:07:22
    数组声明创建 首先必须声明数组变量,才能在程序中使用数组。下面是声明数组变量的语法: dataType[] arrayRefVar;//首选方法 数据类型[] 变量名; 或 dataType arrayRefVar[];//效果相同,但不是首选方法 Java语言...
  • 经过长时间学习VB.NET数组声明和VB.NET数组初始化,于是和大家分享一下,看完本文你肯定有不少收获,希望本文能教会你更多东西。对数组进行操作的能力在任何编程语言中都很重要。VB.NET与其它语言相似,提供了简单的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 863,715
精华内容 345,486
关键字:

数组声明