第 10 章 数组
10.1 数组的概念
① 数组四要素
(1)数组名:本质上是一个标识符常量,命名需要符合标识符规范。
(2)元素:同一个数组中的元素必须是相同的数据类型。
(3)下标(索引、角标):从0开始的连续数字。
(4)数组的长度:表示元素的个数。
② C 语言数组特点(不用记)
(1)创建数组时会在内存中开辟一整块连续的空间,占据的空间的大小,取决于数组的长度和数组中元素的类型。
(2)数组中的元素在内存中是依次紧密排列的且有序的。
(3)数组一旦初始化完成,其长度就是确定的,数组的长度一旦确定,就不能修改。(重点); 其中的元素值可以修改
(4)我们可以直接通过索引(下标)获取指定位置的元素,速度很快。
重点:
// 不能给数组名重新赋值
// arr = {10,20,30,40,50,60,79};
10.2 数组的操作
① 如何定义数组
1)方式一:先指定元素的个数和类型,再进行初始化 (先声明,再初始化赋值)
eg:
int arr1[5];
// 给元素赋值, 每个元素都有下标
arr1[0] = 100;
2)方式二:指定元素的类型和个数并同时进行初始化 (声明并同时初始化赋值)
eg: double arr2[4] = {1.4, 2.5, 3.3, 4.9};
3)方式三:指定元素的类型,不指定元素个数,同时进行初始化 (声明时不指定长度,必须同时进行初始化赋值)
eg:short arr3[] = {10,20,30,40,50,60,70,80};
② 访问数组元素
数组名[下标]
③ 数组越界
越界访问会得到随机值(垃圾值)
④ 数组长度计算
sizeof 数组名 / sizeof (元素类型);
// 或者
sizeof 数组名 / sizeof 数组名[0];
⑤ 遍历数组 ——(将数组中的元素逐个获取到)
for (int i = 0; i < 数组长度-1; i ++)
{
数组名[i];
}
注:// 声明长度为 len 的数组 ——声明数组的时候使用变量表示长度,C99标准增加的写法
int nums[len];
10.3 字符数组(字符串)
① 字符串的本质
本质就是元素是char类型的数组(字符数组)
最后有个字符串结束标记 \0
② 如何定义字符串
1. 跟定义数组相同,需要设置字符串结束标记
2. 定义字符串的简化写法,自动添加字符串结束标记
写法:
第一种:数组名[]={"字符数组/字符串"};
第二种:数组名[]="字符数组/字符串";
eg:
1、
// 手动添加字符串结束标记
char msg1[8] = {'B', 'e', 'i', 'j', 'i', 'n', 'g', '\0'};
// 自动添加字符串结束标记
char msg2[9] = {'S', 'h', 'a', 'n', 'g', 'h', 'a', 'i'};
char msg4[10] = {'W', 'u', 'h', 'a', 'n'};
// 不会添加字符串结束标记
char msg3[4] = {'X', 'i', 'a', 'n'}; // 由于本身字符串有5个字符,而定义只给了4个
2、简化写法
// 简化写法一
char msg1[] = {"Beijing"};
// 简化写法二
char msg2[] = "Hello World";
③ 字符串的访问和遍历
通过下标可以访问字符串中的每个字符
10.4 多维数组
1. 多维数组的概念
2. 如何定义二维数组: 类型、行数、列数,初始化
三种:
// 1)先声明二维数组,指定类型、行数、列数, 再初始化
double arr1[3][2];
arr1[0][0] = 10.0;
arr1[0][1] = 11.0;
arr1[1][0] = 20.0;
arr1[1][1] = 21.0;
arr1[2][0] = 30.0;
arr1[2][1] = 31.0;
// 2)指定类型、行数、列数,并初始化(同时声明并赋值) ——推荐使用这个,可读性高
int arr2[2][3] = {
{10, 20, 30},
{100, 200, 300}};
// 3)指定行数列数并初始化, 元素自动分配
int arr3[3][4] = {10,20,30,40,50,60,70,80,90,100,110,120};
// 4)省略行数,指定列数, 初始化, 元素自动分配
int arr4[][4] = {10,20,30,40,50,60,70,80,90,100,110,120};
3. 二维数组的访问和遍历
4. 二维数组的内存形式
第 11 章 函数
11.1 函数的基本概念
1. 什么是函数?
函数是具有特定功能的代码块
2. 函数的分类:
库函数
自定义函数
11.2 函数基本语法
① 声明函数(定义函数)
函数四要素:
① 函数名,是标识符,需要满足标识符规范
② 函数体,该函数的代码块,写在 {} 中
③ 返回值和返回类型,返回值作为函数的计算结果
③ 参数,分为形参和实参
注意:强烈不建议函数嵌套声明!
② 调用函数
1. 函数名加小括号表示函数的调用,函数只有调用函数体语句才执行,且每调用一次,函数体都执行一遍
函数名(); ——调用函数
2. 函数调用表达式的值是函数的返回值
③ 返回值
1. 有返回值:返回类型与return右边表达式的值的类型一致;如果不一致会发生数据类型转换(类似于赋值过程中自动类型转发)
2. 没有返回值:
①函数体中没有return语句;
②return的右边是空的; 没有返回值的函数需要指定返回类型为 void
3. return 除了能够设置函数返回值,还可以结束所在的函数
④ 参数
1. 形参
声明函数时所设置的参数,需要指定数据类型和形参名。形参的本质就是一个函数,只能在函数内部使用。
2. 实参
调用函数时所给的参数,用于给形参赋值,数量要与形参一致。
标签:初始化,06,函数,元素,C语言,数组名,数组,字符串
From: https://www.cnblogs.com/petard/p/18119861