- UID
- 188819
- 在线时间
- 0 小时
- 最后登录
- 2015-2-11
- 注册时间
- 2012-8-14
- 宅魂
- 5409 点
- 贡献
- 3222 点
- 宅币
- 25213 枚
- 灵石
- 0 块
- 元气(技能点)
- 21 点
- 活跃
- -4 ℃
- 听众
- 7
- 收听
- 0
该用户从未签到
技术宅认证程序员
- 积分
- 52156
|
本帖最后由 兰陵笑忘生 于 2013-5-26 14:25 编辑
数组定义:数组是由类型名、标识符和维数组成的符合数据类型
类型名规定了存放在数组中的元素的类型,而维数则制定数组中包含的元素个数
===这里让我神烦一下←_←大白话地说,数组就是存一堆相同类型的数据,而且数组在申明的时候就已经确定了大小,所以在以后的使用过程中是没有办法增加它的大小的。比如说我定义了一个包含十个元素的int型的数组,那么我在这个数组里只能存储10个数据,,而且只能是int型的。如果我在实际操作中发现我要存储的数据大于10个了,你只能去重新申请一个更大容量的数组。所以这也是数组的缺点呢~
一维数组
数组的定义和初始化
定义:
类型名 数组名[X];
[mw_shl_code=cpp,true]const unsigned buf_size = 512, max_files = 20; //常量 const
int staff_size = 27; //不是常量 只有在运行时才知道他的数值
string file[buf_size]; //ok
double salary[max_files+1];//ok
char characters[5];//ok
int test[staff_size];//错误!是个不知道数值的变量
[/mw_shl_code]
【point:X一定要是常量!】
初始化:
[mw_shl_code=cpp,true]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因为字符串包含了一个额外的空字符(null)用于结尾~这个比较理论 看看就过吧
char cal[3] = "C++"; //error[/mw_shl_code]
数组操作
数组通过下标访问 从0开始计数
意思说比如我声明了一个int num[5];的数组,他里面是能能存放5个整数的。但是下标是0、1、2、3、4
这时我要取第二个数组的值我就要这么写:int the_secd_num=num[1];
这里再举个栗子~用到了循环~虽然还没带领米娜学循环,但是先看看代码感受一下o(* ̄▽ ̄*)o 【←_←感受!
[mw_shl_code=cpp,true]int num[10];
int i=0;
//********给数组的每一个值初始化为0*********//
while(i<10)//数组下标是从0到9,所以i变为10时无法进入循环,循环终止
{
num=0;
i++;
}
//********打印出数组中每个元素的值*********//
i=0;
while(i<10)
{
cout<<"数组的第"<<i+1<<"个元素是"<<num<<endl;
i++;
}[/mw_shl_code]
二维数组
定义和初始化的栗子:
[mw_shl_code=cpp,true] int ia[3][4]={
{0,1,2,3},
{4,5,6,7},
{8,9,10,11}
};[/mw_shl_code]
第一维,相当于行(row),第二维相当于列(column)
所以上面的栗子就等于申请了一个三行四列数据的数组。
当然这样的下面的定义也是可以的 只不过缺点是不清楚
[mw_shl_code=cpp,true]int ia[3][4]={0,1,2,3,4,5,6,7,8,9,10,11};[/mw_shl_code]
之后还有多维数组之类的~不过现在不需要掌握这么多复杂的呢~大家以后接触到了 再讲不迟o(* ̄▽ ̄*)o
=======================我是每周开始神烦的作业菌===================== 嘛~刚刚循环的代码大家有没有感受地很清晰?
不是很明白的话~再去感受一下o(* ̄▽ ̄*)o 【←_←什么都没讲的你可以滚出了!
嘛~今天的作业和上面的比较像呢~说起来是数组的作业,但主要还是让大家提前接触一下循环~
作业菌就是:
声明一个包含20个元素的数组,赋值为0,1,2,3,4.。。。。。。19
并打印出来~
[fold=升级版~有空的童鞋可以做~不强制要求的呢]声明一个包含26个元素的数组,赋值为所有的小写字母a-z
参考的一个小代码~
char ch='a';
ch++;
cout<<ch<<endl;
大家想想以上的ch输出的是什么也许就会有想法了呢[/fold]
|
|