数学:什么是数组?详细!
数组是在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来的一种形式。这些按序排列的同类数据元素的集合称为数组。在C语言中, 数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2012-10-01
C++数组
1.定义
const unsigned buf_size = 512,max_files = 20; //const
int staff_size = 27; //non const,know when running
const unsigned sz = get_size(); //know when running
string file[buf_size]; //ok
double salary[max_files+1];//ok
int test[staff_size];//error:non const variale
int vals[sz]; //error:size not know until run time
2.初始化
a.在函数体内定义的内置数组,其元素没有初始化
b.在函数体外定义的内置数组,其元素初始化为零
c.对于类类型,不管数组在哪定义,都调用该类的默认构造函数进行初始化,若该类没有默认构造函数,则需显式初始化。
int a[5]={0,1,2}; //a[]={0,1,2,0,0}
string str[5]={"hi","hi"}; //str[]={"hi","hi","","",""};
char cal[] = {'C','+','+'}; //size=3
char cal[] = {'C','+','+',''}; //size=4
char cal[] = "C++"; //size=4
char cal[3] = "C++"; //error
注意:不能象vector一样,用数组给另一数组直接初始化,或者直接赋值
char a[3] = {'C','+','+'};
char b[3];
a=b; //error;
//////////////////////////////
char a[3] = {'C','+','+'};
char b[](a); //error
1.定义
const unsigned buf_size = 512,max_files = 20; //const
int staff_size = 27; //non const,know when running
const unsigned sz = get_size(); //know when running
string file[buf_size]; //ok
double salary[max_files+1];//ok
int test[staff_size];//error:non const variale
int vals[sz]; //error:size not know until run time
2.初始化
a.在函数体内定义的内置数组,其元素没有初始化
b.在函数体外定义的内置数组,其元素初始化为零
c.对于类类型,不管数组在哪定义,都调用该类的默认构造函数进行初始化,若该类没有默认构造函数,则需显式初始化。
int a[5]={0,1,2}; //a[]={0,1,2,0,0}
string str[5]={"hi","hi"}; //str[]={"hi","hi","","",""};
char cal[] = {'C','+','+'}; //size=3
char cal[] = {'C','+','+',''}; //size=4
char cal[] = "C++"; //size=4
char cal[3] = "C++"; //error
注意:不能象vector一样,用数组给另一数组直接初始化,或者直接赋值
char a[3] = {'C','+','+'};
char b[3];
a=b; //error;
//////////////////////////////
char a[3] = {'C','+','+'};
char b[](a); //error
第2个回答 2012-10-01
这里面有的,很全面
第3个回答 推荐于2016-12-01
数组一词源于程序设计,是指同一种数据类型的数据集合,就像并排停的一排车、货架中一排同型号商品。举例分析会更明确:
(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 中。本回答被提问者采纳
(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 中。本回答被提问者采纳