有关数组

数组的定义

    数组是一组相同类型元素的组合。

定义格式:

1、数据类型 [ ] 数组名;

int [ ] a;定义一个int类型的数组a变量

2、数组类型  数组名 [ ];

int a[ ];定义一个int类型的数组a变量

一维数组的创建和初始化

一、 数组的创建的实例:

//代码1

int arr1[10];

//代码2

int count=10;

int arr2[count];

注:数组创建,[ ]中要给一个常量才可以,不能使用变量。

二、数组的初始化数组的初始化是指,在创建数组的同时给数组的内容一些合理初始值(初始化)。

eg:

int arr1[ ]={1,2,3,};

int arr2[2]={};

char  arr3[3]={'a',98,'c'};

char arr4[ ]="abcd";

数组在创建的时候如果不想指定数组的大小就得初始化。数组的元素个数根据初始化的内容来确定。

三、一维数组的使用


总结:

1、数组的下标是用来访问的,下标从0开始

2、数组的大小可以通过计算得到

int arr[10];

int sz=sizeof(arr)/sizeof(arr[0]);

四、一维数组在内存中的存储



结论:数组在内存中连续存放且由低地址指向高地址

五、一维数组的指针指向

1、数组的数组名其实是数组首元素的地址

2、通过对数组名+整数的运算,可以获取每个元素的地址


二维数组的创建和初始化

一、二维数组的创建

//数组的创建

int arr[2][3];

char arr[3][5];

double arr[2][4];

//数组的初始化

int arr[3][4]={1,2,3,4};

int arr[][4]={{1,3},{4,5}};

二、二维数组的使用

二维数组的使用也是通过下标的方式

三、二维数组在内存中的存储

同一维数组一样,二维数组在内存中也是连续存储的

四、二维数组的指针访问


结论:二维数组也可以通过指针来访问

总结:

数组名代表整个数组的时候只有两种情况:

sizeof(数组名),这里的数组名表示整个数组

&数组名,这里的数组名表示整个数组

数组作为函数参数

数组作为函数参数的时候,不会把整个数组传递过去。实际上只是把数组的首元素的地址传递过去了。所以即使在函数参数部分写成数组的形式:int arr[ ],表示的依然是一个指针:int *arr。

有关函数的运算







阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页