有关数组

原创 2018年04月15日 17:48:35

数组的定义

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

定义格式:

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。

有关函数的运算







数组

本门课程是java基础课程之一,介绍数组的概念和使用。
  • 2017年01月30日 17:30

一篇有关数组的经典文章

  • 2010年07月25日 18:33
  • 909KB
  • 下载

关于strlen 和 wstlen_s 操作未初始化的字符数组

看下面一段程序 #include "stdafx.h" #include #include #include int _tmain(int argc, _TCHAR* argv[]) ...
  • prince_jun
  • prince_jun
  • 2012-06-15 17:33:47
  • 714

与数组相关算法

找出递增数组中和为s的两个数 问题: 已知一个递增排序的数组和一个数字s,在数组中找出两个数,使它们的和正好等于s,找出任意一对便可。 思路: 普通解法: 第一个数从数组的开头开始,然后利用...
  • wudiyong22
  • wudiyong22
  • 2015-08-12 14:14:19
  • 1851

【NOIP模拟】小a的强迫症

DescriptionSolution由于组合数的基础不好,这题怎么想都想不出来。 但是有一个很显然的东西很容易看出来,最后一个颜色的柱子肯定要放在最后面。 那么现在只有n-1个位置了,最后一个颜...
  • doyouseeman
  • doyouseeman
  • 2016-09-19 14:42:36
  • 260

java的数组的几个小代码程序

(1) double[] d = { 95, 56.5, 97, 65, 35.5, 40, 80, 95, 100, 65.5 }; System.out.pri...
  • Graham_linyin
  • Graham_linyin
  • 2017-07-19 21:08:26
  • 109

J_强迫症的序列(思维好题)

题目描述 牛客网是IT求职神器,提供海量C++、JAVA、前端等职业笔试题库,在线进行百度阿里腾讯网易等互联网名企笔试面试模拟考试练习,和牛人一起讨论经典试题,全面提升你的编程。作为acmer的小A...
  • weixin_38772011
  • weixin_38772011
  • 2018-03-25 12:09:41
  • 24

Java数组难题解析

  • 2012年05月28日 19:42
  • 1.43MB
  • 下载

C语言基础练习之数组

1,字符串的循环移动#include #include void func(char buf[], int steps) { int i = 0, j = 0, lenth = 0; ...
  • yuhao_Wang
  • yuhao_Wang
  • 2017-11-28 11:13:59
  • 61

关于数组操作的常见题型

一、数组操作 缺陷:创建数组时,必须指定数组的容量大小,然后根据数据大小分配内存。所以空间效率不高,经常会有空闲的区域未得到充分利用。 优点:可在O(1)时间内读/写任何元素,利用数组来实现哈希表 二...
  • u010796790
  • u010796790
  • 2016-07-19 15:24:13
  • 1264
收藏助手
不良信息举报
您举报文章:有关数组
举报原因:
原因补充:

(最多只允许输入30个字)