- 一维数组的创建
- 一维数组的初始化
- 一维数组的使用
- 一维数组在内存中的存储
数组就是一组相同类型元素的集合
数组的创建:
int arr [10]
int 是数组类型
arr 是数组名称
[10] 是数组的大小
数组也可以创建不同的类型
例如:
int arr[10];
int arr[8+2];
char ch[10];
double n[10];
在C99标准之前,数组的大小都必须是常量或者常量表达式
在C99之后,数组的大小可以是变量,这是为了支持变长数组
那什么是变长数组呢?
例如:
下面例子只支持在C99标准下执行
int n = 10;
scanf("%d",&n);
int arr[n];
一维数组的初始化
数组的初始化是指在创建数组的时候给数组赋值,也叫初始化
数组在创建的时候如果想不指定数组的确定的大小就得初始化,那数组的元素个数根据初始化的内容来确定。
例如:
int arr[10] = {"1,2,3,4,5,6,7,8,9,10"};
int arr[ ] = {"1,2,3,4,5,6,7,8,9,10"};
char ch[3] = {'a','b','c'};
char ch[ ] = {'a'.'b',98};
char ch [] = {"abc"};
数组不完全初始化
什么是数组不完全初始化
只给前面几个赋值,这叫数组不完全初始化,剩余的元素默认为0
注意:
下面的代码要区分,内存中如何分配
char ch[10] = {'a','b','c'};
在内存存储的是: a b c 0 0 0 0 0 0 0
初始化是 3 个
char ch2[10] = "abc";
内存存储的是: a b c \0 0 0 0 0 0 0
初始化是 4 个
一维数组的使用
数组的使用我们之前介绍了一个 *** 作符: [ ] ,这是下标引用 *** 作符。它其实就数组访问的 *** 作符
数组是使用下标来访问的,下标是从0开始。
数组的大小是可以通过计算得到
C语言规定:数组的每个元素都有一个下标,下标是从0开始的
比如:
int main()
{
int arr[10] = { 1,2,3,4,5,6,7,8,9}
数组的下标: 0 1 2 3 4 5 6 7 8
}
----------------------------------------------------------
数组的使用
int main()
{
int a[10] = { 1,2,3,4,5,6,7,8,9 }; 数组的创建
int i = 0;
int sz = sizeof(arr) / sizeof(arr[0]); 计算数组的大小
while (i < sz)
{
printf("%d ", a[i]); 打印数组下标为 i 的元素
i++;
}
return 0;
}
一维数组在内存中的存储
数组在内存中是以十六进制的形式存储的
从图片就可以得出:数组在内存中是连续存放的,随着数组下标的增长,地址也是从低到高的
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)