数组的应用

一、概念

     一组相同类型元素的集合(可以存放一个或多个元素),即存放一组数据。其中,相同类型是指数组中每个元素的类型相同。

二、一维数组的创建和初始化 

2.1 数组创建

   基本语法

    type arr_name[常量值]

#include <stdio.h>
int main()
{
   int data[10];
   char ch[5];
   double arr[8];  
   return 0;
}

 2.2 数组的初始化

#include <stdio.h>
int main()
{
   int arr1[10] = {0};//0,0,0...0(十个)
   int arr2[10] = {1,2,3};//1,2,3,0,0...0
   return 0;
}

2.3 数组类型

  int arr [10] ;//arr数组的类型是什么?

      int 是arr数组的元素类型,去掉名字之后,剩下的则为数组类型。

#include <stdio.h>
int main()
{
   int arr1[10] = {0};
   char arr2[5] = {0};
   printf("%2d\n",sizeof(arr1));//sizeof 计算数组的大小
   printf("%2d\n",sizeof(int [5]);
   return 0;
}
 三、一维数组的使用

3.1 数组下标

     C语言规定数组是有下标的,下标从0开始。其中下标就相当于数组元素的编号。

  int arr[10] = {1,2,3,4,5,6,7,8,9,10};

 数组  1  2   3   4   5   6   7   8   9   10

下标   0  1   2   3   4   5   6   7   8    9

#include <stdio.h>
int main()
{
   int arr[10] = {1,2,3,4,5,6,7,8,9,10};//初始化之后,前面的10可以省略
   printf("%d",arr[5]);//元素6
   return 0;
}

  操作符[  ],称为下标引用操作符。

3.2 数组元素打印 

   打印下标(利用循环)

#include <stdio.h>
int main()
{
   int arr[] = {1,2,3,4,,5,6,7,8,9,10};
   int i = 0;
   for(i=0;i<10;i++)
   {
      printf("%d",arr[i]);
   }
return 0;
}

输入输出下标

#include <stdio.h>
int main()
{
   int arr[] = {0};
   int i = 0;
   for(i=0;i<10;i++)
   {
      scanf("%d",&arr[i]);
   }//输入
   for(i=0;i<10;i++)
   {
      printf("%d",arr[i]);
   }
return 0;
}

     一个整型4个字节

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

 3.3 求数组的元素个数

#include <stdio.h>
int main()
{
   int arr[10] = {0};
   printf("zd\n",sizeof(arr);//计算的是数组的总大小,单位是字节
   printf("zd\n",sizeof(arr[0]);//计算的是数组中一个元素的大小,单字节
   printf("zd\n",sizeof(arr)/sizeof(arr[0]);//计算的是数组元素的个数
   return 0;
}

   3.4 一维数组在内存中的存储

     将其地址打印出来

#include <stdio.h>
int main()
{
   int arr[10] = {1,2,3,4,5,6,7,8,9,10};
   int i = 0;
   int sz = sizeof(arr) / sizeof(arr[0]);
   for(i=0;i<sz;i++)
   {
       printf("&arr[%d]=%p\n",i,&arr[i]);
   }
   return 0;
}

%p_专门用来打印地址(16进制形式)

数组在内存中是连续存放的,随着下标的增长,地址是由小到大变化的。 

  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值