说到数组,它就是个存东西的东西,容器。不过有个要求,那就是数组里的东西的性质要一样(类型)。这是个比较单一的,死板的容器。
1. 数组赋值
怎么将元素放到数组里面去呢? 直接赋值就可以了。就像这样:int billy [5] = {1, 2, 3, 4, 5};
你也可以这样:int billy[]={1, 2, 3, 4, 5};
编译器自动匹配数组的大小。
2. 提取数组中的值
数组元素放在内存里,是通过索引值来提取元素的。直接上。
namearray[index];
就是说通过索引值来完成提取数组中的值。
有点注意,那就是索引值是从0开始计算的。
3. 多元数组
一维的数组实在作用有限,什么图像啊之类的数据就是二维,三维的。所以多元数组还是很有用的。
声明
type namearray[][]; 二维的
你想几维在后面填上就可以。
提取数组的值,和一维的方式一样。
4. 数组作为参数
这个有意思的地方,你好不容易做好了数组,你不能不用吧,没用你建个数组干什么?对吧。怎么用?将数组作为参数传递给函数,这样就可以对数组进行加工了。
函数要用数组,那参数就有点不一样了,怎么写呢?
type namearray[]
这就是参数。
给个例子吧
- //arrays as parameters
-
#include<iostream>
-
using namespace std;
-
-
void printarray (int arg[], int length) { //看到没有?是int arg[]
-
-
for (int n=0;n<length;++n)
-
cout<<arg[n]<<" ";
-
cout<<"\n";
-
-
}
-
-
int main () {
-
-
int array[] = {5, 10, 15};
-
printarray (array,3);
-
-
return 0;
-
}
提醒一下,一定要记住,类型要一致,数组类型,函数参数的类型是要一致的,不然就出错了。
如果要不一致那也不是不可以,用类,模板呗。这是后话。
5. 字符串
这个跟数组是有点类似的。
以前说过string类,这个比字符串强多了。但字符串也是有作用的嘛。
声明的方式和数组一样,不过类型就是char了。
char name[];
提示:字符串里的最后是个\0,叫做null字符,做为字符串结尾的信号吧。
赋值和数组有点区别,就是,字符都要上单引号。像这样
char word[] = {'H', 'e', 'l', 'l', 'o', '\0'};
还有一种,就是字符串用一个双引号包起来就可以了。
char word [] = "Hello";
其实数组就是个常量指针,指向内存模块的。数组的内容是不允许修改的。所以下面表达就有问题了。
假设mychar是个char []的变量
mychar = "Hello";
mychar [] = "Hello";
mychar = {‘H’, ‘e’, ‘l’, ‘l’, ‘o’, ‘\0’};
都是无效的。
数组就说到这。
下次见。
阅读(1214) | 评论(0) | 转发(0) |