数组:
定义格式:类型 数组名[元素个数]
int age[5];
赋值方法:
int age[5]={1,2,3,4,5};
遍历:按顺序查看数组的每一个元素
for(int i=0;i<5;i++)
{
printf("%d",age[i]);
}
初始化:
int ages[5] = {12,13} : age[0]=12 age[1]=13
int ages[5] = {[3]=12,[4]=13} 给数组中的某个地址赋值
int ages[] = {1,2,3} 默认数组大小为3
int age[]; 错误,必须明确指出数组大小,即使是变量也不可以;
int ['A'];正确 ‘A’是一个常量
如果想在定义数组的同时进行初始化,数组的元素个数必须为常量 或者不写
求数组的长度
问:int ages[]={1,2,3,4,5,6,7}; 怎样求数组长度?
int length = sizeof(ages)/sizeof(int)
数组中的数组在内存中的顺序
数组中位置靠前的数据在内存中的低地址
即:a[0]地址最低依次递增
for(int i= 0; i<5;i++)
{
printf("cs[%d]的地址是:%p\n",i,&cs[i]);
}
通过此程序输出地址验证
数组作为函数参数 可省略元素个数
数组作为函数参数 传递的是整个数组的地址,修改函数形参数组元素的值,会影响到外面的实参数组
void change(int array[])
{
array[0]=100;
}
int main()
{
int ages[6]={1,2,3,4,5,6};
change[ages];
}
结果 主函数中 数组ages的第一个数会变为100;
多维数组(二维数组):
int student[5][5];
在内存中存储 是按照一位数组的形式存放
顺序为:a[0][0],a[0][1],....a[1][0]....
问题三、
定义数组的方法
int ages[count]如何定义?
解答:如果定义时不对其进行赋值此方法正确,却进行赋值此方法不正确
例:int count = 5; int ages[count];正确
int count = 5 int ages[count]={1,2,3} 错误
定义格式:类型 数组名[元素个数]
int age[5];
赋值方法:
int age[5]={1,2,3,4,5};
遍历:按顺序查看数组的每一个元素
for(int i=0;i<5;i++)
{
printf("%d",age[i]);
}
初始化:
int ages[5] = {12,13} : age[0]=12 age[1]=13
int ages[5] = {[3]=12,[4]=13} 给数组中的某个地址赋值
int ages[] = {1,2,3} 默认数组大小为3
int age[]; 错误,必须明确指出数组大小,即使是变量也不可以;
int ['A'];正确 ‘A’是一个常量
如果想在定义数组的同时进行初始化,数组的元素个数必须为常量 或者不写
求数组的长度
问:int ages[]={1,2,3,4,5,6,7}; 怎样求数组长度?
int length = sizeof(ages)/sizeof(int)
数组中的数组在内存中的顺序
数组中位置靠前的数据在内存中的低地址
即:a[0]地址最低依次递增
for(int i= 0; i<5;i++)
{
printf("cs[%d]的地址是:%p\n",i,&cs[i]);
}
通过此程序输出地址验证
数组作为函数参数 可省略元素个数
数组作为函数参数 传递的是整个数组的地址,修改函数形参数组元素的值,会影响到外面的实参数组
void change(int array[])
{
array[0]=100;
}
int main()
{
int ages[6]={1,2,3,4,5,6};
change[ages];
}
结果 主函数中 数组ages的第一个数会变为100;
多维数组(二维数组):
int student[5][5];
在内存中存储 是按照一位数组的形式存放
顺序为:a[0][0],a[0][1],....a[1][0]....
问题三、
定义数组的方法
int ages[count]如何定义?
解答:如果定义时不对其进行赋值此方法正确,却进行赋值此方法不正确
例:int count = 5; int ages[count];正确
int count = 5 int ages[count]={1,2,3} 错误