本章前言
在程序设计中,为了处理方便,把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称为数组。在C语言中,数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。
简化记忆方式:数组是一组相同类型元素的集合。
文章目录
一维数组的创建和初始化
一维数组的创建
数组的创建方式 :
type_t arr_name[const_n];
//type_t是指数组的元素类型
//arr_name是数组名
//const_n是一个常量表达式,用来指定数组的大小
注∶数组创建,[ ]中要给一个常量才可以,不能使用变量。
例如:
//代码1
int arr1[10];
char arr2[9];
double arr3[8];
//以上数组可正常创建
//代码2
int count = 10;
int arr4[count];
//该数组不能正常创建,[]中应该为常量,不能为变量
提示:有些编译器中[ ]中出现了变量不报错,也正常编译执行,那是因为该编译器支持C99语法标准。在C99语法标准中有变长数组的概念-- -
数组[]中可以是变量。
一般我们常用的编译器,如Viual Studio(VS)系列编译器是不支持C99语法标准的。
一维数组的初始化
数组的初始化是指,在创建数组的同时给数组的内容一些合理初始值。
int arr1[10] = {
1,2,3 };//不完全初始化
int arr2[] = {
1,2,3,4 };
int arr3[5] = {
1,2,3,4,5 }; //完全初始化
char arr4[3] = i'a ', 98,'c'};
char arr5[] = {
'a ', ' b', 'c ' };
char arr6[] = "abcdef";
这里我们要注意区分
char ch2[] = {
'b','i','t' };
char ch4[] = "bit";
在使用printf打印字符以及strlen求字符串长度时候,遇到’\0’才停止,没遇到’\0’之前不停止。
一维数组的使用
对于数组的使用我们之前介绍了一个操作符︰[ ]下标引用操作符。它其实就数组访问的操作符。我们来看代码︰
#include <stdio.h>
int main()
{
int arr[10] = {
0 };//数组的不完全初始化//计算数组的元素个数
int sz = sizeof(arr) / sizeof(arr[0]);
int i = 0;
//对数组内容赋值,数组是使用下标来访问的,下标从0开始。
for (i = 0; i < 10; i++