c++知识点合集已经完成欢迎前往主页查看,点点赞点点关注不迷路哦
点我进入c++第一章知识点合集
MYSQL第一章节DDL数据定义语言的操作----点我进入
MYSQL第二章节DDL-数据库操作语言 DQL-数据查询语言----点我进入
MYSQL-第三章节DCL-管理用户,控制权限----点我进入
MYSQL-第四章节常用函数说明----点我进入
目录
怎样定义一个一维数组
一维数组的初始化:
对数组全部元素赋值,但不指定长度
例子:当下表为符号常量的时候
一维数组的引用
一维数组元素的引用格式
例子:通过循环来遍历每一个数组元素
一维数组的遍历
一维数组的遍历例子:
数组作为函数参数例子
定义一个二维数组
二维数组的初始化/** 定义数组 */
用“初始化列表”对二维数组初始化
字符数组的初始化
1.一维数组的定义格式为:
类型说明符 数组名[常量表达式;
例子: int aray[5];
它表示定义了一个整形数组,数组名为a,有10个元素的容量大小。
注意
在定义数组时,需要指定数组中元素的个数,方括弧中的常量表达式用来表示元素的个数,即数组长度。
常量表达式中可以包括常量和符号常量,但不能包含变量。
上述代码定义了一个数组,其中,int是数组的类型,aray是数组的名称,方括号中的5是数组的长度。完成数组的定义后,只是对数组中的元素开辟了一块内存空间。这时,如果想使用数组操作数据,还需要对数组进行初始化。数组初始化的常见的方式有3种,具体如下
1.直接对数组中的所有元素赋值
int i[5]={1,2,3,4,5};
2.只对数组中的一部分元素赋值
int i[5]={1,2,3}
在上述代码中,定义了一个int类型的数组,但在初始化时,只对数组中的前3个元素进行了赋值,其他元素的值会被默认设置为0
int i[ ]={1,2,3,4}
在上述代码中,数组i中的元素有4个,系统会根据给定初始化元素的个数定义数组的长度,因此,数组i的长度为4。
注意
(1)数组的下标是用方括号括起来的,而不是圆括号;
(2)数组名的命名同变量名的命名规则相同;
(3)数组定义中,常量表达式的值可以是符号常量,如下面的定义就是合法的。
int a[N]; //假设预编译命令#define N 4,下标是符号常量
在程序中,经常需要访问数组中的一些元素,这时可以通过数组名和下标来引用数组中,的元素。
数组名 [下标];
在上述方式中,下标指的是数组元素的位置,数组元素的下标是从0开始的。例如,引用数组X的第3个元素的方式为X[2]。
#include
void main(int argc, char *argv[]){
int x[5] = {2,3,1,4,6};
int i;
for (i = 0; i < 5; i++) / / 通过循环使数组下标值增加从而遍历每一个数组元素
{
printf("%d\n", 2 * x[i]);
}
}
注意
数组的下标都有一个范围,即“0~[数组长度-1]”,假设数组的长度为6,其下标范
围为0~5。当访问数组中的元素时,下标不能超出这个范围,否则程序会报错。
在操作数组时,经常需要依次访问数组中的每个元素,这种操作称作数组的遍
历。接下来使用for循环依次遍历数组中的元素
//求数组元素中的最大值:
#include
int main(int argc, char *argv[]){
int x[5] = {2,3,1,4,6};
int Max = x[0]; //定义一个最大值Max用来存放最大的数字
int i = 0;
for (i = 0; i < 5; i++) { //通过循环来遍历每一个数组元素
if (x[i] > Max) {
Max = x[i]; //将遍历比较完的数组的最大值赋值给Max
}
}
printf("max:%d\n", Max);
return 0;
}
#include
void printArray(int arr[], int size) {
for(int i=0; i
数组中的元素当作函数参数,即把数组中的参数传入函数中
例子:
Void temp(int arrvalue)
{
Printf(“%d\n”,arrvalue);
}
Int main( )
{
Int arr[5]={1,2,3,4,5};
temp(arr[i]);
}
定义类型:类型名 数组名[ 行表达式 ][ 列表达式];行与列用常量表达式。
int main()
{
int ar[3][4]; // 3 行 4列 未初始化
char br[3][4];
double cr[3][4];
return 0;
}
int a[3][4]; //定义a为3×4的二维数组
a[3][4]=3; //不存在a[3][4]元素
数组a可用的“行下标”的范围为0~2,“列下标”的范围为0~3
int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
将所有数据写在一个花括号内,按数组元素在内存中的排列顺序对各元素赋初值。
int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
可以对部分元素赋初值。(例如)
int a[3][4]={{1},{5},{9}}; ①
int a[3][4]={{1},{0,6},{0,0,11}}; ②
int a[3][4]={{1},{5,6}}; ③
int a[3][4]={{1},{},{9}}; ④
①
0 0 0
5 0 0 09 0 0 0
②
1 0 0 0
0 6 0 0
0 0 11 0
③
1 0 0 0
5 6 0 0
0 0 0 0
④
1 0 0 0
0 0 0 0
9 0 0 0
如果对全部元素都赋初值(即提供全部初始数据),则定义数组时对第1维的长度可以不指定,但第2维的长度不能省。
int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
int a[][4]={1,2,3,4,5,6,7,8,9,10,11,12};
以上两个数组元素相同,在定义时也可以只对部分元素赋初值而省略第1维的长度,但应分行赋初值。
int a[ ][4]={{0,0,3},{},{0,10}};
例子:
char c[10]={′I′,′ ′ ,′a′,′m′,′ ′,′h′,′a′,′p′,′p′,′y′}; //把10个字符依次赋给c[0]~c[9]这10个元素
如果提供的初值个数与预定的数组长度相同,在定义时可以省略数组长度,系统会自动根据初值个数确定数组长度。
例子:
char c[]={′I′,′ ′,′a′,′m′,′ ′,′h′,′a′,′p′,′p′,′y′}; //数组c的长度自动定为10
也可以定义和初始化一个二维字符数组。
char diamond[5][5]={{′ ′,′ ′,′*′},{′ ′,′*′,′ ′,′*′},{′*′,′ ′,′ ′,′ ′,′*′},{′ ′,′*′,′ ′,′*′},{′ ′,′ ′,′*′}};