数组概述

来源:互联网 发布:员工监控软件 ipguard 编辑:程序博客网 时间:2024/05/17 03:14
 

1、为什么需要数组?
   为了解决大量同类型数据的存储和使用;
   为了模拟现实世界

2、数组的分类

  一维数组
 为n个变量连续分配存储空间;
 所有的变量数据类型和所占的字节大小必须都相同。
     有关一维数组的操作:
 初始化
    完全初始化
  int a[5]={1,2,3,4,5};
    不完全初始化,未被初始化的元素自动为零
  int a[5]={1,2,3};
    不初始化,所有元素是垃圾值
  int a[5]
    清零
  int a[5]={0};
   【 错误写法】:
 ————int a[5];
  a[5]={1,2,3,4,5};//错误
  只有在定义数组的同时才可以整体赋值,其他情况下整体赋值都是错误的,上述的a

[5]表示的就是数组a的第六个元素。而不是整个数组。
 ————int a[5]={1,2,3,4,5};
  int b[5];
  如果要把a数组中的值全部复制给b数组
  b=a;//错误
  正确的写法:
    for(i=0;i<5;i++)
   b[i]=a[i];
 赋值;排序;求最大/小值;倒置;查找;插入;删除 
/************************************
2011年9月9日19:11:12
目的:把一个数组的元素全都倒过来
*************************************/
#include<stdio.h>
int main(void)
{
 int a[8]={1,2,3,4,5,6,7,8};
 int i,j;
 int t;

 i=0;
 j=7;
 while(i<j)
 {
  t=a[i];
  a[i]=a[j];
  a[j]=t;

  i++;
  --j;
 }
 for(i=0;i<8;i++)
  printf("%d\n",a[i]);
 return 0;
}
  
  二维数组
 a[i][j]表示第i+1行第j+1列的元素;
 
 初始化:
  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}
        }
 对二维数组排序
 求每一行的最大值
 判断矩阵是否对称
 矩阵的相乘


  多维数组 不存在多维数组
  因为内存是线性一维的  n维数组可以当做每个元素是n-1维数组的一维数组

原创粉丝点击