一维数组的初始化
在函数里边定义的变量没有初始化的话,他们分配到的值是随机的,数组也是这样
数组数据存放位置
函数里边定义的数组,数据存在栈中,全局变量数组存在堆中,定义大数组时可以在函数外定义成全局变量,这样相当于初初始化为0一遍
#include<cstdio>
using namespace std;
int a[1000000];//全局数组里边默认赋值为0
int main()
{
return 0;
}
数组下标
下标都是从0开始
cout<<a[0];//输出的是第一个数据
数组翻转
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int a[10] = {0,1,0,1,0,1,0,1,0,1};
reverse(a,a+10);//使用reverse函数,这里括号左边右边是地址
for(int x=0;x<10;x++)
cout<<a[x]<<" ";
return 0;
}
下面是运行结果,a是地址
多维数组
放张y总上课截图就好
多维数组初始化
数组快速清空
使用函数menset(),这个函数存在cstring库中
menset(a,b,c);//其中a是初始地址,可以用数组名表示,中间的b是给字节赋的值,c是以Byte为单位的长度设置
例如在上面图片中a数组有10个int类型整数,而每个int对应4Byte,故c为40
特别注意!因为b是给字节赋值,只有等于0和-1的时候数组中的数才为0和-1!
sizeof
menset(a,0,sizeof a);//这样数组就会清空为0了
数组复制
memcopy函数