数组是什么意思,数组类型
大家好,如果您还对数组是什么意思不太了解,没有关系,今天就由本站为大家分享数组是什么意思的知识,包括数组类型的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!
数组是什么意思 最好详细点!
分类:电脑/网络>>程序设计>>其他编程语言
问题描述:
数组是什么意思最好详细点!
解析:
一维数组
1、定义:
var
a:array [1..10] of integer;
其中:a是这一批数据的名称,称为数组名;array、of是定义数组的保留字;中括号中的数字是数据编号的下限和上限,财时也说明了数据的个数(上限-下限);最后一个是数据的基类型,如integer,char,real,boolean。
2、数组元素的输入:
数组名代表的并不是一个变量,而是一批变量,因而,不能直接整个数组读入,而是要逐个数组元素读入,通常用循环结构来完成这一功能。下面是几个常用输入数组元素的例子:
for i:=1 to 10 do read(a[i]);
{————从键盘读入数组元素的值;最常用的方法}
for i:=1 to 10 do a[i]:=i;
{————数组元素a[1]到a[10]的值分别为1到10;数据赋初值}
for i:=1 to 10 do a[i]:=0;
{————数组元素清0;最常用的数据初始化的方法}
for i:=1 to 10 do a[i]:=random(100);
{————随机产生10个100以内的数,赋给各数组元素}
3、数组元素的输出:
和数组元素的输入相同,数组元素的输出也不能由一个write语句直接完成。同样要逐个数组元素输出。通常也用循环结构来完成这一功能:
for i:=1 to 10 do write(a[i],'');{————数组元素之间用空格分隔}
writeln;
4、数组的应用:
例1:从键盘输入10个数,将这10个数逆序输入,并求这10个数的和,输出这个和。
program p1;
var
a:array [1..10] of integer;
i,s:integer;
begin
for i:=1 to 10 do read(a[i]);
for i:=10 downto 1 do write(a[i],'');
writeln;
s:=0;
for i:=1 to 10 do s:=s+a[i];
writeln('s=',s);
end.
例2:用筛法求100以内的素数(质数)。
分析:素数是除了1和它本身以外没有其它约数的数。用筛法求素数的方法是:用质数筛去合数:从第一个素数2开始,把它的倍数去掉;这样2以后的第一个非0数就一定也是素数,把它的倍数也删了……重复这个删数过程,直到在所找到的素数后再也找不到一个非0数。把所有非0数输出。
program p2;
var
a:array [1..100] of integer;
i,j,k:integer;
begin
for i:=1 to 100 do a[i]:=i;
a[1]:=0;i:=2;
while i<=100 do
begin
k:=i;
while k<=100 do
begin
k:=k+i;
a[k]:=0;
end;
{————上面将所有a[i]的倍数清0}
i:=i+1;
while a[i]=0 do i:=i+1;
{————查找接下来的第一个非0数}
end;
for i:=1 to 100 do if a[i]<>0 then write(a[i],'');
end.
6.2二维数组
一维数组在编程中多用于描述线性的关系:如一组数;一组成绩;一组解答等。数组元素只有一个下标,表明该元素在数组中的位置。二维数组在编程中多数用于描述二维的关系:如地图、棋盘、城市街道、迷宫等等。而二维数组元素有两个下标:第一个下标表示该元素在第几行,第二个下标表示在第几列。
1.二维数组的定义:
var
a:array[1..10,1..5] of integer;
其中:a是数组名,由程序员自定;array和of是定义数组的保留字;(这两点和一维数组定义的格式一样)中括号中的两个范围表示二维数组共有多少行、多少列(第一个范围表示行数,第二个范围表示列数);最后一个表示数组元素的类型,规定和一维数组一样。如上例,定义了一个二维数组a,共有10行5列。
2.使用二维数组:
1、数组元素的指称:数组名[行号,列号]。如第三行第四个元素:a[3,4]。
对某一行进行处理。如累加第4行的数据。则固定行号为4。如:for i:=1 to 5 do s:=s+a[4,i];
对某一列进行处理。如累加第4列的数据。则固定列号为4。如:for i:=1 to 10 do s:=s+a[i,4];
2、二维数组的输入输出要用双重循环来控制:
for i:=1 to 10 do{————控制行数}
begin
for j:=1 to 5 do read(a[i,j]){————第一行读入5个元素}
readln;{————读入一个换行符}
end;
{————最常用的方法:从键盘读入数据初始化二维数组}
for i:=1 to 10 do
for j:=1 to 5 do a[i,j]:=0;
{————最常用的方法:将二维数组清0}
for i:=1 to 10 do
begin
for j:=1 to 5 do write(a[i,j]:4);
writeln;
end;
{————最常用的输出方法:按矩阵形式输出二维数组的值}
例1:竞赛小组共有20位同学,这学期每位同学共参与了三项比赛,请统计每位同学的平均分。
分析:定义一个20行3列的二维数组来存放这些成绩。定义一个20个元素的一维数组来存放平均分。
program p1;
var
a:array [1..20,1..3] of integer;
b:array [1..20] of real;
i,j:integer;
begin
for i:=1 to 20 do
begin
for j:=1 to 3 do read(a[i,j]);
readln;
end;
{————从键盘上读入20个同学的三次竞赛成绩}
for i:=1 to 20 do b[i]:=0;
{————先将平均分数组清0}
for i:=1 to 20 do
begin
for j:=1 to 3 do b[i]:=b[i]+a[i,j];{————计算总分}
b[i]:=b[i]/3;{————计算平均分}
end;
for i:=1 to 20 do write(b[i]:5:1);
{————输出平均分}
writeln;
end.
的数组的定义是什么意思
从内存角度,是一片连续的内存空间
数组初始化:
//在编译时明确指定全部元素为
int a[10]={0};//在程序运行时,重置内存块为0
memset(a,0,sizeof(a));1234
数组元素个数在初始化的时候可以明确指出也可以根据初始化列表元素个数确定。
数据类型:固定大小内存块的别名
指针类型:依赖于指针所指向的内存空间的大小
C语言中的数组有自己特定的类型:由元素类型和数组长度决定
例:int array[5]的类型为int [5]
可以重命名数组类型,并用新的数组类型名命名数组变量,使用typedef关键字进行重命名
typedef int(MYINT5)[5];//MYINT5表示一个含有5个元素的int类型的数组 MYINT5 array;//相当于int array[5];123
数组名的技术盲点:
数组首元素的地址和数组地址是两个不同的概念
数组名代表数组首元素的地址,它是个常量
变量本质是内存空间的别名,一定义数组,就分配内存,内存就固定了。所以数组名起名以后就不能被修改了。
数组首元素的地址和数组的地址值相等,但只是值相等而已
int a[10];
printf("得到整个数组的地址a:%d
",&a);
printf("数组的首元素的地址a:%d
", a);
数组指针类型
直接定义数组指针变量
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define ARRAY_SIZE 5
int main(void)
{
int i= 0;
int(*p_array)[ARRAY_SIZE]= NULL;//告诉编译器给我分配一个指针变量
//直接定义一个数组指针,相当于int(*p_myArray)[5];
int array[ARRAY_SIZE]={0};
p_array=&array;//将指针变量指向数组类型的变量array,此时指针的步长是整个数组长度
for(i= 0;i<ARRAY_SIZE;i++){
(*p_array)[i]= 2*i+2;//通过指针操作数组内存空间
}
for(i= 0;i<ARRAY_SIZE;i++){
printf("%d
",(*p_array)[i]);
}
printf("Hello World!
");
return 0;
}
多维数组
本质推演
多维数组名就是一个数组指针变量,指向除了最高维以外的剩余维数的数组
多维数组名是一个多级指针,取以后减少一级指针。同样的对于二级指针,取*以后变成一级指针,二级指针指向一块内存,常是一个数组,一级指针指向一个数组里面的元素。
n级指针的值和n-1级指针的值(就是地址相等)重合,拿二维数组来说,就是某一行整个行的地址(一个数组地址)和该行首元素的地址在相等,这是必然的,他们都是该片内存的起始位置,必然相等。但是他们的数据类型不一样。n级指针指向的内存块更多,n-1级指针指向的只是n级指针指向的内存块的一部分,常是其中的一个元素。
多维数组char a[i][j]==>((a+i)+j)转换技巧分析
#define _CRT_SECURE_NO_WARNINGS
#include<stdlib.h>
#include<string.h>
#include<stdio.h>
void main()
{
int aaa[5][3];
for(i= 0; i<5; i++)
{
for(j= 0; j< 3; j++)
{
aaa[i][j]= j+ i+ 1;
}
}
for(i= 0; i<5; i++)
{
printf("
");
for(j= 0; j< 3; j++)
{
printf("aaa[%d][%d]=%d\t",i,j, aaa[i][j]);
}
printf("
");
}
printf("aaa地址:%d
", aaa);
printf("aaa[0][0]地址:%d
",&aaa[0][0]);
printf("aaa+1地址:%d
", aaa+1);
printf("aaa[1][0]地址:%d
",&aaa[1][0]);
printf("*(aaa+1)地址:%d
",*(aaa+ 1));
printf("*(aaa+ 1)+1地址:%d
",*(aaa+ 1)+1);
printf("aaa[1][1]地址:%d
",&aaa[1][1]);
printf("&aaa+1地址:%d
",&aaa+1);
printf("aaa[4][2]地址:%d
",&aaa[4][2]);
printf("hello...
");
system("pause");
return;
}
运行结果
/**************
aaa[0][0]= 1 aaa[0][1]= 2 aaa[0][2]= 3
aaa[1][0]= 2 aaa[1][1]= 3 aaa[1][2]= 4
aaa[2][0]= 3 aaa[2][1]= 4 aaa[2][2]= 5
aaa[3][0]= 4 aaa[3][1]= 5 aaa[3][2]= 6
aaa[4][0]= 5 aaa[4][1]= 6 aaa[4][2]= 7
aaa地址:14023660
aaa[0][0]地址:14023660
aaa+1地址:14023672
aaa[1][0]地址:14023672
*(aaa+1)地址:14023672
*(aaa+ 1)+1地址:14023676
aaa[1][1]地址:14023676
&aaa+1地址:14023720
aaa[4][2]地址:14023716
hello...
请按任意键继续...
************************/
VB中数组是什么意思
VB中数组是什么意思数组简单的说就是一组类型相同的变量,
并且可以通过数组名和下标来访问其中
的元素(也就是某一个变量)。
dim a(1) as integer
定义一个数组a,它有两个元素(变量),
a(0)、a(1),我们可以通过a(0)来访问第一个
元素(变量),通过a(1)来访问第二个元素(变量)
Vb中的数组是什么意思?楼主您好:
无论是在面向对象的编程中,还是在面向过程的编程中,数组都是常用的数据结构,VB中的数组可以由基本的数据类型组成,也可以由对象组成:由基本的数据类型组成的数据在使用时与面向过程的编程方法一致,而由对象组成的数组在使用时要增加一个创建对象的操作,它与面向对象的编程方法一致。
数组概述:
数组不是一种数据类型,而是一组有序基本类型变量的***,数组的使用方法与内存变量相同,但功能远远超过内存变量。
数组特点
VB中的数组有以下主要特点:
(1)数组是一组相同类型的元素的***
(2)数组中各元素有先后顺序,它们在内存中按排列吮吸连续储存在一起。
(3)所有的数组元素是用一个变量名命名的一个***体,而且每一个数组元素在内存中独占一个内存单元,可视同为一个内存变量。为了区分不同的数组元素,每一个数组元素都是通过数组名和下标来访问的,
(4)使用数组时们必须对数组进行“声明”,即先声明后使用。所谓“声明”,就是对数组名、数组元素的数据类型、数组元素的个数进行定义。
为了方便喜欢VB的同学阅读,附上百度百科方便更加详细的查阅以及学习::baike.baidu./link?url=n8NGBFGCEP4hNwwVtFox-sGSu-mCd3MwAdOGNjr2toHhepf7i0hqvevnznp_SSMw8D79JJY9dr5bSIpCDX8_9_
VB中控件数组是什么意思?具有相同名称、类型以及事件过程的一组控件。每一个控件具有一个唯一的索引。当数组中的一个控件识别某一事件时,它将调用此控件组的相应事件过程,并把相应索引作为参数传递,允许您用代码决定是哪一个控件识别此事件。
vb多维数组是什么意思?通俗的说是数组的数组,
Dim arr As Variant
arr= Array(Array(1.2, 3.4), Array(5.6, 7.8))
Debug.Print arr(1)(1)
VB程序中控件数组是什么意思例如你编程中所用到的按钮,文本框等等,这类东西是控件,用他们所组成的数组就是控件数组,控件数组的用途很多,可以方便你的编程,并且可以非常方便的完成一些一般控件所不能完成的功能。具体创建方法:你可以直接复制,粘贴控件,或者是在属性窗口中将N个控件的名字改成一个名字(个人推荐前者。)
是计算机c语言中数组是什么意思你可以把数组相像成同种数据类型变量的***。。比如你要存100个整数,不用整数你需要定义一百个整型变量,用数组你直接定义成int a[100];就行了。。可以直接用循环遍历访问数组中的每个元素变量,很方便。
谈谈excel中数组是的使用?又是什么意思 C编中的abs数组是什么意思==函数原型==
- int abs(int i);
-==函数功能==
-求整数的绝对值
-==声明文件==
- math.h
-#include<stdio.h>
-#include<math.h>+
- int main(void)
-{
- int number=-1234;
- printf("number:%d absolute value:%d
", number, abs(number));
- return 0;
-}
数学中的数组是什么意思数组一词源于程序设计,是指同一种数据类型的数据***,就像并排停的一排车、货架中一排同型号商品。举例分析会更明确:
(1)C语言中,数据类型有int、char、long、float、double、shot。有一种数据类型的数据可以放在数组中形成一组数据。如,
int a[5]; a[5]={1,5,3,4,6};/*该数组,名为a,是int型,里面的数据都是int型的,数组元素有a[0]=1,a[1]=5,a[2]=3,a[3]=4,a[4]=6,即下限为0,上限为4,共五个元素。
(2)其他高级语言中也有类似定义,特别的是java中数组元素可以是不同数据类型,也不用指定数组长度,如,string a[]={{1,2,4,5,7},{‘a’,'c','q'}};。
还有,matlab中可以直接读取数组,如,M=imread('D:\img\pic.jpg');直接将三维图像数组读入变量M中。
substitute函数中带数组是什么意思 excel函数公式中数组,要真正定义,还是比较难的。简单的说,数组就是多个元素的***。一个单元格区域,包含有多个数据,把它作为整体参与数据运算,可以认为这个区域的数据就是一个数组。参与运算的一组数据,,如{1,3,4,6},也是一个数组。
excel数组公式,可简单理解为在运算过程中是多个算式同时进行运算的,或运算结果是多值的。例如:“=A1:A5*B1:B5”,这个算式包含了A1*B1、A2*B2、A3*B3、A4*B4、A5*B5,其结果也有5个值,公式“=A1:A5*B1:B5”就是数组公式。
好了,文章到此结束,希望可以帮助到大家。