阵列初始化 - 页 3 1234 新评论 Ian Venner 2014.03.23 04:35 #21 MetaNt: 这让我想起了一个矩阵... 对于订单数组,你说0=买入,1=卖出 那么我应该如何初始化这个数组呢? OrdersArray[10,2] = {.......}{...}。? 我认为它和矩阵完全一样 你用一组大括号和尽可能多的值来初始化它,或者只用一个值来表示整个数组,然后再添加实际值。 是的,我说买入和卖出是0和1,因为当你处理订单时,订单类型是那些整数值。 大多数时候,你会发现最简单的方法是将整个数组初始化为一个单一的值(只是因为你必须初始化它),然后再添加值。 ordersarray[10,2] = {0}。 当你使用数组的for循环时,一切都会变得有意义。 Luciano Ola 2014.03.23 04:57 #22 SDC: 我认为它和矩阵完全一样 你用一组大括号和尽可能多的值来初始化它,或者只用一个值来表示整个数组,然后再添加实际值。 是的,我说买入和卖出是0和1,因为当你处理订单时,订单类型是那些整数值。 大多数时候,你会发现最简单的方法是将整个数组初始化为一个单一的值(只是因为你必须初始化它),然后再添加值。 ordersarray[10,2] = {0}。 当你使用数组的for循环时,一切都会变得有意义。 我注意到一些事情 Myarray [3][4] 是多维的,但是看 Myarray [3][4] = {x,y,z}。 它是用一维的形式来定义的,也就是说,对于其中一个维度只有一个值是有效的,即使大小允许有4个,所以Myarray [2,0]=z,但是Myarray[2,1]=0,Myarray[0,2]也=z。 Luciano Ola 2014.03.23 04:57 #23 SDC: 我认为它和矩阵完全一样 你用一组大括号和尽可能多的值来初始化它,或者只用一个值来表示整个数组,然后再添加实际值。 是的,我说买入和卖出是0和1,因为当你处理订单时,订单类型是那些整数值。 大多数时候,你会发现最简单的方法是将整个数组初始化为一个单一的值(只是因为你必须初始化它),然后再添加值。 ordersarray[10,2] = {0}。 当你使用数组的for循环时,一切都会变得有意义。 我注意到一些事情 Myarray [3][4] 是多维的,但是看 Myarray [3][4] = {x,y,z}。 它是用一维的形式来定义的,也就是说,对于其中一个维度只有一个值是有效的,即使大小允许有4个,所以Myarray [2,0]=z,但是Myarray[2,1]=0,Myarray[0,2]也=z。 Keith Watford 2014.03.23 05:09 #24 SDC: "在初始化序列中可以省略一个或几个常数。在这种情况下,相应的数字类型的数组元素被初始化为0,字符串类型的数组元素被初始化为字符串值""(不带空格的引号),即空行(不应该与空格混淆)。" 然后显示了这个例子。 string Mas_s[4] = {"a","b", ,"d"}; // String array 这可能是有意为之。 string Mas_s[4] = {"a","b","","d"}; // String array 是的,在第一个例子中,Mas_s[2]将被初始化为0 string A[4] = {"a","b", ,"d"}; string letters = "Array A ="; for(int x = 0;x<4;x++) letters +=A[x]; Print(letters); string B[4] = {"a","b","" ,"d"}; letters = "Array B ="; for(x = 0;x<4;x++) letters +=B[x]; Print(letters); string C[4] = {"a","b"," " ,"d"}; letters = "Array C ="; for(x = 0;x<4;x++) letters +=C[x]; Print(letters); 结果 13:03:01 aaa CADJPY,H1: 阵列A =ab0d 13:03:01 aaa CADJPY,H1: 数组B =abd 13:03:01 aaa CADJPY,H1: 数组C =ab d Ian Venner 2014.03.23 05:15 #25 MetaNt: 我注意到一些事情 我的数组[3][4]是多维的,但看起来 Myarray [3][4] = {x,y,z}。 它是用一维的形式来定义的,也就是说,对于其中一个维度只有一个值是有效的,即使大小允许4个,所以Myarray [2,0]=z,但是Myarray[2,1]=0,Myarray[0,2] 也=z。 是的,如果你用这种方式填充数组,它会从第一个维度开始依次填充。 Luciano Ola 2014.03.23 05:28 #26 SDC: 是的,如果你用这种方式填充数组,它会从第一维开始依次填充 所以int myarray[2][2] = {1,2}会填满 myarray[0,0]=1 myarray[1,0]=2 myarray[0,0]=1 myarray[0,1]=2 你怎么能用一个循环来做这个事情呢? 你会根据数组的大小来使用变量i和j的限制吗? Ian Venner 2014.03.23 05:29 #27 所以它应该以这样的顺序来填充它 [0,0] [0,1] [0,2] [0,3] 那么 [1,0] [1,1] [1,2] [1,3] 那么 [2,0] [2,1] [2,2] [2,3] Ian Venner 2014.03.23 05:32 #28 MetaNt: 所以,int myarray[2][2] = {1,2}将填补 myarray[0,0]=1 myarray[1,0]=2 myarray[0,0]=1 myarray[0,1]=2 你怎么能用一个循环来做这个事情呢? 你会使用变量i和j,并根据数组的大小进行限制吗? 是的,你可以用一个变量来代替尺寸常数 for(int i=0; i<2, i++) {myarray[i,0] = ?//会在第1个维度上增加数值 } Ian Venner 2014.03.23 05:40 #29 你也可以用另一种方式来做 for(i=0; i<2; i++) {myarray[0,i] = ? } Luciano Ola 2014.03.23 06:24 #30 SDC: 你也可以用另一种方式来做 for(i=0; i<2; i++) {myarray[0,i] = ? } 谢谢你的澄清,它确实感觉很像矩阵。 1234 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
这让我想起了一个矩阵...
对于订单数组,你说0=买入,1=卖出
那么我应该如何初始化这个数组呢?
OrdersArray[10,2] = {.......}{...}。?
我认为它和矩阵完全一样
你用一组大括号和尽可能多的值来初始化它,或者只用一个值来表示整个数组,然后再添加实际值。
是的,我说买入和卖出是0和1,因为当你处理订单时,订单类型是那些整数值。
大多数时候,你会发现最简单的方法是将整个数组初始化为一个单一的值(只是因为你必须初始化它),然后再添加值。
ordersarray[10,2] = {0}。
当你使用数组的for循环时,一切都会变得有意义。
我认为它和矩阵完全一样
你用一组大括号和尽可能多的值来初始化它,或者只用一个值来表示整个数组,然后再添加实际值。
是的,我说买入和卖出是0和1,因为当你处理订单时,订单类型是那些整数值。
大多数时候,你会发现最简单的方法是将整个数组初始化为一个单一的值(只是因为你必须初始化它),然后再添加值。
ordersarray[10,2] = {0}。
当你使用数组的for循环时,一切都会变得有意义。
我注意到一些事情
Myarray [3][4] 是多维的,但是看
Myarray [3][4] = {x,y,z}。
它是用一维的形式来定义的,也就是说,对于其中一个维度只有一个值是有效的,即使大小允许有4个,所以Myarray [2,0]=z,但是Myarray[2,1]=0,Myarray[0,2]也=z。
我认为它和矩阵完全一样
你用一组大括号和尽可能多的值来初始化它,或者只用一个值来表示整个数组,然后再添加实际值。
是的,我说买入和卖出是0和1,因为当你处理订单时,订单类型是那些整数值。
大多数时候,你会发现最简单的方法是将整个数组初始化为一个单一的值(只是因为你必须初始化它),然后再添加值。
ordersarray[10,2] = {0}。
当你使用数组的for循环时,一切都会变得有意义。
我注意到一些事情
Myarray [3][4] 是多维的,但是看
Myarray [3][4] = {x,y,z}。
它是用一维的形式来定义的,也就是说,对于其中一个维度只有一个值是有效的,即使大小允许有4个,所以Myarray [2,0]=z,但是Myarray[2,1]=0,Myarray[0,2]也=z。
"在初始化序列中可以省略一个或几个常数。在这种情况下,相应的数字类型的数组元素被初始化为0,字符串类型的数组元素被初始化为字符串值""(不带空格的引号),即空行(不应该与空格混淆)。"
然后显示了这个例子。
这可能是有意为之。
是的,在第一个例子中,Mas_s[2]将被初始化为0
结果
13:03:01 aaa CADJPY,H1: 阵列A =ab0d
13:03:01 aaa CADJPY,H1: 数组B =abd
13:03:01 aaa CADJPY,H1: 数组C =ab d
我注意到一些事情
我的数组[3][4]是多维的,但看起来
Myarray [3][4] = {x,y,z}。
它是用一维的形式来定义的,也就是说,对于其中一个维度只有一个值是有效的,即使大小允许4个,所以Myarray [2,0]=z,但是Myarray[2,1]=0,Myarray[0,2] 也=z。
是的,如果你用这种方式填充数组,它会从第一维开始依次填充
所以int myarray[2][2] = {1,2}会填满
myarray[0,0]=1
myarray[1,0]=2
myarray[0,0]=1
myarray[0,1]=2
你怎么能用一个循环来做这个事情呢?
你会根据数组的大小来使用变量i和j的限制吗?
所以它应该以这样的顺序来填充它
[0,0]
[0,1]
[0,2]
[0,3]
那么
[1,0]
[1,1]
[1,2]
[1,3]
那么
[2,0]
[2,1]
[2,2]
[2,3]
所以,int myarray[2][2] = {1,2}将填补
myarray[0,0]=1
myarray[1,0]=2
myarray[0,0]=1
myarray[0,1]=2
你怎么能用一个循环来做这个事情呢?
你会使用变量i和j,并根据数组的大小进行限制吗?
是的,你可以用一个变量来代替尺寸常数
for(int i=0; i<2, i++)
{myarray[i,0] = ?//会在第1个维度上增加数值
}
你也可以用另一种方式来做
for(i=0; i<2; i++)
{myarray[0,i] = ?
}
你也可以用另一种方式来做
for(i=0; i<2; i++)
{myarray[0,i] = ?
}
谢谢你的澄清,它确实感觉很像矩阵。