数组

【1】为什么引入数组?

实际编程中,我们有可能会面临这样子的问题,需要定义很多的变量,而且这些变量的类型都是相同的,例如:

int a,b,c,d,e,f......;

那么,矛盾总是推动着事物向前发展进步的根本动力。程序设计语言也不例外,同时遵循这个客观的规律。

所以,为了更简练,更清晰的模拟描述这一系列数据的表示,我们的前辈们想到了数组。例如:

int a[5]; //a[0] a[1] a[2] a[3] a[4]分别代表不同的变量,但是都是同一个数据类型的。让别人看上去一目了然,更有利于以后的程序维护。

【2】数组的定义规则如何?

类型 数组名[数组元素个数]

int  array[100];

【3】数组的下标为什么从零开始?

计算机编程语言都是由西方引进的,大家都知道,西方人的胸前都喜欢佩戴一个十字架什么的。

其实这个十字架很有内容的,还记得不?中国曾经的那些老木匠都用木质的十字架,为了什么呢?为了能够准确,甚至说是精确。

数组的下标除了区分不同元素而外,设计者也赋予了它特别的用途,那就是偏移量的重要意义。

a[0]代表的就是*a ,那么,为了更准确的描述,*(a+1) == a[1]这样子的效果是很容易理解的。

【4】数组可以分为哪几种?

数值数组,字符数组,指针数组,结构数组等等

【5】数组指针与指针数组什么区别?

数组指针:int (*pa)[10] pa就是所谓的数组指针变量名。即就是说pa是一个指针变量。

指针数组:int * pa[10] pa就是所谓的指针数组变量名。即就是说pa是一个数组变量名。

【6】数组名是什么类型

数组名是一个数组类型的指针,也就是数组首元素的指针。

例如:

1 int ar[10];
2 
3 int *p=ar;

【7】如何创建多维数组?

示例代码如下:

 1 #include<iostream>
 2 using namespace std;
 3 int main()
 4 {
 5     int (*p)[3][4];
 6     int i,j,k;
 7     p = new int[2][3][4];
 8     for(i=0;i<2;i++)
 9     {
10         for(j=0;j<3;j++)
11         {
12             for(k=0;k<4;k++)
13             {
14                 *(*(*(p+i)+j)+k) = i*100+j*10+k;
15             }
16         }
17     }
18     for(i=0;i<2;i++)
19     {
20         for(j=0;j<3;j++)
21         {
22             for(k=0;k<4;k++)
23             {
24                 cout<<p[i][j][k]<<"  ";
25             }
26             cout<<endl;
27         }
28     }
29     delete []p;
30     return 0;
31 }

【8】杨辉三角如何利用数组输出?

示例代码如下:

 1 #include<iostream>
 2 #include<assert.h>
 3 #include<iomanip>
 4 #include<conio.h>
 5 using  namespace std;
 6 void main()
 7 {
 8     const int MaxN=11;
 9     int a[MaxN][MaxN];                             //数组11行11列,0行0列不用
10     for(int i=1;i<MaxN;i++)
11     {
12         a[i][1] = 1;
13         a[i][i] = 1;
14         for(int j = 2; j < i; j++)
15         a[i][j]=a[i-1][j-1]+a[i-1][j];
16     }
17     for(int i = 1; i < MaxN; i++)                           //显示结果
18     {
19         cout<<setw((MaxN-i)*4);
20         for(int j = 1; j <= i; j++)
21         cout<<a[i][j]<<setw(8);
22         cout<<endl;
23     }
24     getch();
25 }

运行结果如下:

【9】乘法口诀如何利用数组输出?

示例代码如下:

 1 #include<iostream>
 2 using  namespace std;
 3 void  main()
 4 {
 5     for(int i=1;i<10;i++)
 6     {
 7         for(int j=1;j<i+1;j++)
 8         {
 9             cout<<j<<"*"<<i<<"="<<i*j<<" ";
10         }
11         cout<<endl;
12     }
13 }

运行结果如下:

【10】

作者:kaizen
声明:本文版权归作者和博客园共有,欢迎转载。但未经作者同意必须保留此声明,且在文章明显位置给出本文链接,否则保留追究法律责任的权利。
签名:顺序 选择 循环
原文地址:https://www.cnblogs.com/Braveliu/p/2841480.html