什么是数组——数组是一组相同类型元素的集合
一、一维数组 1.1 一维数组的创建数组的创建方式:
type_name arr_name [count_value]
// type_name::数组元素的类型
// arr_name:数组名
// arr_name:数组元素的个数(可以省略)
数组创建的实例:
// 代码1
int arr1[10];
//代码2
char arr2[];
下面数组可以正常创建吗?
int count=10;
int arr3[count];
答案是:不可以。因为数组创建,在C99标准之前,[ ]中要给一个常量才可以,上述创建数组中,count是一个整型变量
数组的初始化是指,在创建数组的同时给数组内容一些合理的初始值
代码实例:
对于数组的使用,常用的操作符为:[ ] 下标引用操作符
代码示例:
# includeint main()
{int arr1[10]={1,2,3,4,5,6,7,8,9,0};
int length=sizeof(arr)/sizeof(arr[0]); //计算数组元素个数
int i=0;
//输出数组的内容
for (i=0;i printf("%d",arr[i]);
}
return 0;
}
接着我们来探讨一下数组在内存中的存储
我们输出数组每一个元素的地址,代码如下:
# includeint main()
{int arr[]={1,2,3,4};
int length=sizeof(arr)/sizeof(arr[0]); //计算数组元素个数
int i=0;
//输出数组的内容
for (i=0;i printf("&arr[%d]=%p\n",i,&arr[i]);
}
return 0;
}
结果如下:
随之数组下标的增长,元素的地址也在有规律的地址,相邻两个元素之间的地址相差4个字节,这也正是存储一个整型变量需要的字节数。
因此我们得出结论:数组在内存中是连续存放的
和一维数组创建类似
type_name arr_name [row_value] [column_value]
// type_name::数组元素的类型;
// arr_name:数组名
// row_value:二维数组行数(可以省略)
// column_value:二维数组列数(不可省略)
例如:int arr[2][3], char arr2[][4]
int arr1[2][2]={{1,2},{3,4}} 完全初始化
int arr2[3][4]={{5,6,7},{3,4}} 不完全初始化,剩下元素自动补0
二维数组的使用也是通过下标的方式
代码实例:
# includeint main()
{int arr[][2]={{2,3},{1}};
int i=0,j=0;
for (i=0;i<2;i++)
{ for (j=0;j<2;j++)
printf("%d ",arr[i][j]);
}
return 0;
}
输出:2 3 1 0
我们输入上述arr[][2]数组的每一个元素的内存地址:
二维数组在内存中也是连续存储的
本文介绍了C语言数组的知识,数组就是一组同类型数据的集合。包括一维数组和多维数组,从数据的建立和使用。
好了,以上就是C语言数组的全部内容了,看到这里想必友友们对数组的理解又通透了点儿,对您有帮助的话不妨来个三连加关注支持一下,后期会持续更新C语言干货!
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧