第六章 数组

第六章 数组

一维数组的使用

  1. 具有相同类型的若干变量按有序形式组织起来,这些按序排列的同类数据元素称为数组
  2. 数组的元素是连续的(元素的内存地址连续)
  3. 同一个数组所有的成员都是相同类型
  4. 一维数组
    1. 数据类型 数组名 [常量表达式]
    2. 说明:
      1. 数组名命名必须规范“标识符的命名规范”
      2. 方括号中的常量表达式就是数组的长度,也就是数组元素的个数
例如:
int a[10];		//数组a有10元素
float b[20],c[20];
char ch[29];
3. 使用1. 下标访问2. 初始化:内存里面可能有原本的值(未知的)
int a[10]={1,2,3,5,5,67,4,4,5,9};
int a[10]={1,2,3};//后面为0
    3. 地址连续:%p获取地址,地址连续
int arr[]={1,2,3,4};for(i=0;i<4;i++)printf("%p\n",&arr[i]);
  1. 练习
    1. 求和
    2. 逆置

二维数组

  1. 定义:
int a2[4][6];#include <stdio.h>int main(){int a[10];int a2[4][6];//四行6列的二维元素int x =1;
//一行一行访问int i,j;for(i=0;i<4;i++){//访问行for(j=0;j<6;j++)//访问列{a2[i][j] = x++;}}for(i=0;i<4;i++) {for (j = 0; j < 6; j++) {printf("%d ", a2[i][j]);}printf("\n");}printf("***************\n");//一列一列访问for(j=0;j<6;j++){for(i=0;i<4;i++){printf("%d ",a2[i][j]);}printf("\n");}return 0;
}
  1. 分段赋值
int a[3][4]=
{{1,2,3,4},{5,6,7,8},{9,10,11,12}
}
  1. 连续赋值
int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
  1. 部分赋值
int a[3][4]={1,2,3,4};
  1. 0值初始化
int [3][4]={0};
  1. 不指定函数
int a[][4]={1,2,3,4,5,6,7,8};
  1. 不能不指定列数