数组的相关知识个人小结

数组的内容主要包含了创建和使用两方面,而通常使用的数组又分为一维数组和二维舒总两种。

1、数组的创建和初始化

一维数组的创建为    type_t    arr_name   [const_n]

在这里面,type_t指数组的元素类型,如int,char,double等;const_n是一个常量表达式用来表示数组的大小。

数组的创建也可以通过初始化的形式来实现,即在创建数组的同时给数组的内容一些合理的初始值,如int arr[] = {1,2,3,5};

二维数组的创建与初始化与一位数组类似,如int arr[3][4]的意思就是创建了一个三行四列的一个二维数组。二维数组的初始化也类似于一维数组如int arr[3][4]={{2,3},{4,5}};

2、数组的访问和使用

在数组中,[ ]符号为下标引用操作符,数组是使用下标来访问的,下标从0开始,数组的大小可以通过

int arr[10];

int sz=sizeof(arr)/sizeof(arr[0]);来计算,其中sz即为数组的大小。

数组在内存中是连续存放的,随着下标的增长,元素的地址也在有规律得递增。

3、通过指针来访问数组

指针是专门用来存放地址的一个变量,所以通常讲到的指针其实是指针变量。当我们拿到指针的时候通过*(解引用操作符)就可以找到指针所指向的变量。

数组的数组名就是数组首元素的地址,同过数组名+整数的运算,就可以获得数组中每个元素的地址。把首元素的地址赋予指针,就可以通过指针来访问数组了。如*(p+0),即为首元素,*(p+1)即为数组的第二个元素。

在二维数组中,如果数组有三行四列,那么数组有3*4个也就是12个元素,通过指针仍然可以访问到这12个元素的任意一个。如 *(p+6)即为第二行的第三个元素。

4、有关数组的运算

在数组的相关运算中需要记住的是:

①sizeof内单独放数组名的时候,表示整个数组。

②&加数组名的时候也表示整个数组。

除以上两条之外,任何时候出现了数组名均表示首元素。

strlen在计算长度时遇到/0会停止,所以计算strlen的时候不包含/0,但sizeof会把/0计入。另外strlen不可以用来计算一个常量,系统会报错。

5、数组作为函数参数的使用

数组作为函数参数使用的时候不会把整个数组传过去,只会把首元素的地址传递过去,要在函数的定义中使用整个数组的话,既要知道首元素,后面的元素也要都知道。因为一个数组内的元素地址都是有规律得递增关系,所以传递参数的时候有首元素的地址和元素个数即可,函数的个数需要在主函数内计算得出并传递给函数定义内,因为被传递过去的数组名不能代表整个数组,所以在函数定义中无法计算。

猜你喜欢

转载自blog.csdn.net/higher_and/article/details/79816685
今日推荐