1. 一维数组的创建和初始化
1.1 数组的创建
定义:数组是一组相同类型元素的集合。
-
数组的创建方式
type_t arr_name[const_n]; //type_t 是指数组的元素类型 //const_n 是一个常量表达式,用来指定数组的大小
- 数组创建的实例:
//代码1 int arr1[10]; //代码2 int count = 10; int arr2[count];//数组时候可以正常创建? 不可以! //代码3 char arr3[10]; float arr4[1]; double arr5[20];
注:数组创建,在C99标准之前, [] 中要给一个常量才可以,不能使用变量。在C99标准支持了变长数组的概念。
1.2 数组的初始化
数组的初始化是指,在创建数组的同时给数组的内容一些合理初始值(初始化)。
-
如果定义数组未初始化会怎样?数组初始化总结—链接
-
例
数组在创建的时候如果想不指定数组的确定的大小就得初始化。数组的元素个数根据初始化的内容来确定。
- 但是对于下面的代码要区分,内存中如何分配。
- 但是对于下面的代码要区分,内存中如何分配。
1.3 数组的使用
- 例:
#include <stdio.h> int main() { int arr[10] = { 0};//数组的不完全初始化 //计算数组的元素个数 int sz = sizeof(arr)/sizeof(arr[0]); //对数组内容赋值,数组是使用下标来访问的,下标从0开始。所以: int i = 0;//做下标 for(i=0; i<10; i++)//这里写10,好不好? { arr[i] = i; } //输出数组的内容 for(i=0; i<10; ++i) { printf("%d ", arr[i]); } return 0; }
- 总结:
-
- 数组是使用下标来访问的,下标是从0开始【对于指针而言 arr[2] = *(arr+2)】。
-
- 数组的大小可以通过计算得到。
-
1.4 数组在内存中的存储
- 例:
#include <stdio.h> int main