谁能帮我解释下:ASPSTM32能存多大的二维数组组

热门关键字:
> js二维数组定义和初始化三种方法
js二维数组定义和初始化三种方法
作者:管理员发布时间: 20:52:55评论数:0
转载请自觉注明原文:
方法一:直接定义并且初始化,这种遇到数量少的情况可以用
var _TheArray = [["0-1","0-2"],["1-1","1-2"],["2-1","2-2"]]
方法二:未知长度的二维数组
var tArray = new Array();&& //先声明一维
for(var k=0;k&i;k++){ //一维长度为i,i为变量,可以根据实际情况改变
&tArray[k]=new Array(); //声明二维,每一个一维数组里面的一个元素都是一个数组;
for(var j=0;j&p;j++){ //一维数组里面每个元素数组可以包含的数量p,p也是一个变量;
& tArray[k][j]=""; //这里将变量初始化,我这边统一初始化为空,后面在用所需的值覆盖里面的值
给定义的数组传入所需的值
tArray[6][1]=5;//这样就可以将5的值传入到数组中,覆盖初始化的空&
方法三:在这之前,以上两者方法都有问题,方法二,每次定义都初始化了,虽然后面可以动态修改,但是还是不方法
所以我尝试了一种动态传入值到数组的方法&
ps:一些在实践过程中遇到的数组有趣的现象
本来以为二维数组可以像下面这样直接传入值
for(var a=0;a&i;a++){
tArray[a]=(matArray[a],addArray[a]); //matArray[a]和addArray[a]是两个数组,这两个数组直接传入tArray[a]中
结果是tArray[a]中收到的是后面一个数组的值,matArray[a]的内容被忽略的,如果换一个位置,matArray[a]在后面,则传入的是addArray[a]的值。
思考:简单的例子:
var a=[1,2];
b[0]=a;//把数组a作为b数组的元素传入b数组中
alert(b[0][1]);& //2
上面是最简单的二维数组,
上面例子换种写法:
b[0]=[1,2];//把数组[1,2]作为b数组的元素传入b数组中
alert(b[0][1]);& //2&
可以看出上面的b[0]=[1,2]是可以用的
for(var a=0;a&i;a++){
tArray[a]=[ matArray[a],addArray[a] ];& 上面例子中的()修改为[] 就可以成功的组成一个二维数组了
总结:方法三:
for(var a=0;a&i;a++){
tArray[a]=[ aArray[a],bArray[a],cArray[a]]; 还可以增加dArray[a],eArray[a]
这种情况适用于已知几个数组,把他们组合成一个二维数组情况
如果您觉得本文的内容对您的学习有所帮助:
相关文章:ASP(VB)动态二维数组|asp数组赋值|给二维数组赋值
:转载时请以超链接形式标明文章原始出处和作者信息及本声明
ASP(VB)动态二维数组|asp数组赋值Private m_A()As Byte'要定义为空的数组,不要限定维数ReDim m_A(1 To 1,2 To 2)'也可用变量来限定ReDim语句在过程级别中使用,用于为动态数组变量重新分配存储空间。语法ReDim[Preserve]varname(subscripts)[As type][,varname(subscripts)[As type]].ReDim语句的语法包括以下几个部分:部分描述Preserve可选的。关键字,当改变原有数组最末维的大小时,使用此关键字可以保持数组中原来的数据。varname必需的。变量的名称;遵循标准的变量命名约定。subscripts必需的。数组变量的维数;最多可以定义60维的多维数组。subscripts参数使用下面的语法:[lower To]upper[,[lower To]upper].如果不显式指定lower,则数组的下界由Option Base语句控制。如果没有Option Base语句则下界为0。type可选的。变量的数据类型;可以是Byte、Boolean、Integer、Long、Currency、Single、Double、Decimal(目前尚不支持)、Date、String(对变长的字符串)、String*length(对定长的字符串)、Object、Variant、用户定义类型或对象类型。所声明的每个变量都要有一个单独的As type子句。对于包含数组的Variant而言,type描述的是该数组的每个元素的类型,不能将此Variant改为其它类型。说明ReDim语句用来定义或重定义原来已经用带空圆括号(没有维数下标)的Private、Public或Dim语句声明过的动态数组的大小。可以使用ReDim语句反复地改变数组的元素以及维数的数目,但是不能在将一个数组定义为某种数据类型之后,再使用ReDim将该数组改为其它数据类型,除非是Variant所包含的数组。如果该数组确实是包含在某个Variant中,且没有使用Preserve关键字,则可以使用As type子句来改变其元素的类型,但在使用了此关键字的情况下,是不允许改变任何数据类型的。如果使用了Preserve关键字,就只能重定义数组最末维的大小,且根本不能改变维数的数目。例如,如果数组就是一维的,则可以重定义该维的大小,因为它是最末维,也是仅有的一维。不过,如果数组是二维或更多维时,则只有改变其最末维才能同时仍保留数组中的内容。下面的示例介绍了如何在为已有的动态数组增加其最末维大小的同时而不清除其中所含的任何数据。ReDim X(10,10,10).ReDim Preserve X(10,10,15)同样地,在使用Preserve时,只能通过改变上界来改变数组的大小;改变下界则会导致错误。如果将数组改小,则被删除的元素中的数据就会丢失。如果按地址将数组传递给某个过程,那么不要在该过程内重定义该数组的各维的大小。在初始化变量时,数值变量被初始化为0,变长的字符串被初始化为一个零长度的字符串(历史上的今天:
历史上的今天:asp数组的使用
asp数组的使用
定义简单数组
有两种方法在asp中定义和初始化数组,让我们看看每种的例子:
方法一:MyArray = Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct", "Nov","Dec")
数组大小由初始化元素个数决定。
方法二:Dim myArray(2) '指定数组大小myArray(0)="Jan" myArray(1)="Feb"
数组动态扩展
DIM myArray()REDIM myArray(20) '将数组大小重新定义为20
ReDim Preserve MyArray(i) &&‘Preserve&& 保留数组中的原有数据
dim MyArray(5,10) '定义了一个二维数组
二维赋值举例:
MYArray(3,3)=100
二维数组还有一种变相的实现方法:
dim MyArray(5)
MyArray(0)=Array(...) '一维数组
MyArray(1)=Array(...)'一维数组
访问的时候,用MyArray(x)(y)这样的格式
数组的下标
用上面的方法定义数组,每一维数组的第一个元素的下标是0,最后一个元素的下标就是元素数量-1
但也可以指定数组的下标,如:
dim MyArray1(3 to 10) &'下标从3到10,MyArray(3)即获取第一个元素的值
有用的数组函数
Ubound(数组名)函数--返回数组的最后一个元素的下标。
Lbound(数组名)函数--返回数组的第一个元素的下标,缺省为0。
更多应用:
数组排序函数function Sort(ary) KeepChecking = TRUE Do Until KeepChecking = FALSE KeepChecking = FALSE For I = 0 to UBound(ary) If I = UBound(ary) Then Exit For If ary(I) & ary(I+1) Then FirstValue = ary(I) SecondValue = ary(I+1) ary(I) = SecondValue ary(I+1) = FirstValue KeepChecking = TRUE End If Next Loop Sort = ary End function
数组排序函数应用例子Dim MyArray MyArray = Array(1,5,123,12,98)MyArray = Sort(MyArray) For I = Lbound(MyArray) to Ubound(MyArray) Response.Write MyArray(I) & "&br&"Next
将一个字符串分割并返回数组Dim MyArrayMyArray = Split(字符串,分割符)For I = Lbound(MyArray) to Ubound(MyArray) Response.Write MyArray(I) & "&br&"Next
在Application和Session中使用数组Application.LockApplication("StoredArray") = MyArrayApplication.Unlock
LocalArray = Application("StoredArray")
覆盖Application中的数组Application.LockApplication("StoredArray") = LocalArrayApplication.Unlock
Session使用方法与Application相同
从数据库中把数据导入数组中Dim MyArray取出全部记录MyArray = RS.GetRows取出前10项记录MyArray = RS.GetRows(10)
For row = 0 To UBound(MyArray, 2)For col = 0 To UBound(MyArray, 1)Response.Write (col, row) & "&br&"NextNext
向另一个页面传递数组
有很多种方法向另一页面传递数组,比如以下三种:
1、定义一个又逗号分隔的字符串,然后再下一页中用Split函数重新建立数组。2、将数组存储在一个Session变量中,然后在下一个页面中调用。3、通过表单的隐含区域来传递数组,他们都是自动用逗号分开,然后再用Split函数重新建立数组。
前两种方法很好,但是都比第三种复杂。在这里我们将只介绍第三种,因为它是最简单的。
文件1.asp:&%dim Idim myArray(20)
for I=0 to 20myArray(I)="Item " & Inext%&&html&&body&&form name="testform" method="post" action="2.asp"&&%for I=0 to ubound(myArray)response.write "&input type=hidden name=myArray value='" & myArray(I) & "'&"next%&&p&&input type="submit"&&/form&&/body&&/html&
以上我们做的是在一个表单中用单独的隐含域存储数组中的每个元素,我们再看看下一页:
文件2.asp&html&&body&&%dim arrStringdim myArraydim I
arrString=request("myArray")myArray = split(arrString,",")
for I=0 to ubound(myArray) response.write "Item "&I&" = " & myArray(I) & "&br&" & vbCrLfnext%&&/body&&/html&
上一篇:下一篇:当前位置:&>&&>&
ASP开发中数组全集多维数组和一维数组技巧
日期:09-17&&&&nbsp来源:&&&&作者:
asp数组是比较好用的装载大量数据的容器。
1、定义数组
有两种方式:DIM和REDIM。
DIM定义的是固定个数、数据类型的数组;而REDIM则不同,它可以定义不同类型的数据,也可以定义个数并非固定的数据。比较下面几个例子。 都合法的例子:
Dim myarray(5,2)
Redim myarray(5,2)
前者错误而后者合法的例子:
Dim myarray(n)
Redim myarray(n,2)
另外REDIM还可以定义未定类型的数组,如:
Redim myarray(10)
2、数组个数
在以DIM或REDIM定义数组时指定的下标,表示的是访问该数组时所容许的最大下标,却不是该数组的个数。实际上,一维数组个数总是等于(最大下标+1),访问时是通过下标从0开始逐个访问的。
Dim myarray(5)
定义的数组元素有6个,分别是:
myarray(0)、myarray(1)、myarray(2)、myarray(3)、myarray(4)、myarray(5)
Redim thisarray(2,5)
实际上定义了一个(2+1)*(5+1)=1 8的二维数组。
既然如此,那么,可不可义定义一个只有一个元素的数组呢?答案是:不可以。
如前所说,
Redim thisarray(1)
定义的数组实际上有(1+1)个数组元素,但类似于:
Redim thisarray(0)
的语法,错误的。所以,不能定义一个只有一个数组元素的数组。 其实,以上说的只是其默认状况。其实,定义数组可以通过定义下标的起止从而达到定义数组的个数甚至下标的起止编号的。比如:
Redim thisarray(1980 to1990)
就 定义了一个含有11个元素的数组,下标从。 
3、关于UBOUND函数
UBOUND返回的是一维数组的最大下标,而不是元素个数。 比如:
Dim Myarray(5)
UBOUND(Myarray)
返回的值是5,而不是6。 UBOUND也可以应用于二维数组。应用于二维数组时,它返回的是第一个下标的最大值。
Dim Myarray(6,3)
UBOUND(Myarray)
返回的值是6,而不是7,更不是18(6*3=18)。
若要返回第二个下标的最大值,则使用:
UBOUND(Myarray,2)
与UBOUND相对应的是另外一个函数:LBOUND,它返回数组的最小下标。与UBOUND类似,LBOUND(Myarray,2)则返回数组MYARRAY的第二个下标的最小值。所以,准确地说,一维数组Myarray的元素个数为:
UBOUND(Myarray)-LBOUND(Myarray)+1
,而二维数组的元素个数则为:
(UBOUND(Myarray)-LBOUND(Myarray)+1)*(UBOUND(Myarray,2)-LBOUND(Myarray,2)+1)
多维数组依此类推。
4、数组的定义
Dim MyArray
MyArray = Array(1,5,123,12,98)
可扩展数组
Dim MyArray()
for i = 0 to 10
ReDim PReserve MyArray(i)
MyArray(i)=i
将一个字符串分割并返回分割结果的数组
Dim MyArray
MyArray = Split(tempcnt,chr(13)&chr(10))
For I = Lbound(MyArray) to Ubound(MyArray)
Response.Write MyArray(I) & &&br&&
5、数组排序函数
Function Sort(ary)
KeepChecking = TRUE
Do Until KeepChecking = FALSE
KeepChecking = FALSE
For I = 0 to UBound(ary)
If I = UBound(ary) Then Exit For
If ary(I) & ary(I+1) Then
FirstValue = ary(I)
SecondValue = ary(I+1)
ary(I) = SecondValue
ary(I+1) = FirstValue
KeepChecking = TRUE
Sort = ary
End Function
数组排序函数应用例子
Dim MyArray
MyArray = Array(1,5,123,12,98)
MyArray = Sort(MyArray)
For I = Lbound(MyArray) to Ubound(MyArray)
Response.Write MyArray(I) & &&br&&
6、在application和session中使用数组
Application.Lock
Application(&StoredArray&) = MyArray
Application.Unlock&
LocalArray = Application(&StoredArray&)
覆盖Application中的数组
Application.Lock
Application(&StoredArray&) = LocalArray
Application.Unlock
Session使用方法与Application相同
7、从数据库中把数据导入数组中
这种方法被我经常用于代码的函数集成中。
Dim MyArray
取出全部记录
MyArray = RS.GetRows
取出前10项记录
MyArray = RS.GetRows(10)&
For row = 0 To UBound(MyArray, 2)
For col = 0 To UBound(MyArray, 1)
Response.Write (col, row) & &&br&&
本文引用地址:
热点文章/相关文章
无相关信息
Copyright CnWebShow
All Right Reserved.
互动联系方式:QQ:61674&&交流群:
中国网页设计秀为中国网站设计师、设计师联盟提供优秀的网页设计,平面设计,工业设计等方面的作品展示。免费提供网页设计教程,网站CMS源码,破解源码,免费微信源码
做最专业的设计服务网站,秀出自我,秀出精彩!中国设计秀,秀---无处不在!!
var _bdhmProtocol = (("https:" == document.location.protocol) ? " https://" : " http://");
document.write(unescape("%3Cscript src='" + _bdhmProtocol + "/h.js%3F0c12a7c47decd6fdd391ea7' type='text/javascript'%3E%3C/script%3E"));</script}

我要回帖

更多关于 STM32能存多大的二维数组 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信