C语言基础:数组

数组1.定义把具有相同类型的若干变量按有序的形式组织起来,这些按序排列的同类数据元素的集合称为数组。数组属于构造数据类型按数组元素类型分为:数值数组、字符数组、指针数组、结构数组等所包含的数据叫做数组元素同一数组,所有元素的数据类型都相同2.数组类型说明类型说明符 数组名 [常量表达式],……;类型说明符:任一种基本数据类型或构造数据类型int a[10] 整...
摘要由CSDN通过智能技术生成

数组

1.定义

把具有相同类型的若干变量按有序的形式组织起来,这些按序排列的同类数据元素的集合称为数组。

  • 数组属于构造数据类型
  • 按数组元素类型分为:数值数组、字符数组、指针数组、结构数组等
  • 所包含的数据叫做数组元素
  • 同一数组,所有元素的数据类型相同
  • 整个内存地址连续,每个数据元素所占空间大小相同
2.数组类型说明

类型说明符 数组名 [常量表达式],……;

  • 类型说明符:任一种基本数据类型构造数据类型
    int a[10] 整数类型,有十个元素;
    float b[10] 实数类型b,有十个元素;

  • 数组名:用户自己定义的数组表示符

  • [常量表达式]:数据元素的个数,即为数组长度,但是其下标从0开始计算。因此5个元素a[5]:a[0],a[1],a[2],a[3],a[4]

  • 数组名不能与其他变量名相同,
    void main()
    {
    int a;
    float a[10]; //与上边的整数a名字相同,不 合法
    }

  • 方括号里不能用变量来表达元素个数,但可以是符号常数,或常量表达式。
    #define FD 5
    void main()
    {
    int a[3+2],b[7+FD]; //合法

    int n=5;
    int b[n];
    //不合法
    }

  • 允许在同一个类型说明中,说明多个数组和多个变量:int a,b,c,d,n1[10],n2[20];

3.表示方法

数组名 [下标]

  • 下标表示元素在数组中的数组中顺序号,小数将会自动取整
  • 只能逐个使用下标变量,可以使用循环语句逐个输出,但不能一次引用整个数组
    printf("%d",a[i]); // 合法
    printf("%d",a); //错误
4.赋值

1)初始化赋值

static 类型说明符 数组名[常量表达式] ={值,值……};
static int a[10] = {0,1,2,3,4,5,6}

  • static 可以不写,表示的是静态储存类型,规定只有静态储存数组和外部储存数组才可初始化赋值
  • {}里边为各元素初值,各值之间逗号隔开
  • 可以只给部分元素赋初值,即当{ }中值的个数少于元素个数,只给前面部分赋值,后边值不够的元素自动赋值为0.但如果没有给可初始化的数组赋初值,则全部元素均为0
  • 只能逐个赋值不能整体赋值。
    int a[5]={1,1,1,1,1}; //合法
    int a[5]=1; //不合法
  • 如果给全部元素赋值,则在数组说明中,可以不给数组元素个数。
    int a[3]={1,2,3};
    int a[ ]={1,2,3};

2) 动态赋值

用循环语句配合scanf函数逐个对数组元素赋值

//输出一个数组,数组数组中最大的数组元素
void main()
{
   
   int i,max,a[10];
   printf("input 10 numbers: \n");
   
   for(i=0;i<10;i++) //动态对数组逐个赋值
   {
   
     scanf("%d",&a[i]);
   }
   max = a[0];  //先设置一个初始的的最大值以供比较
   
   for(i=1;i<10;i++) //将10个数组元素逐个比较
   {
   
     if(a[i]>max)
     {
   
       max = a[i
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值