C语言-一维数组

数组由数据类型相同的一系列元素组成。

数值概述数组的定义和初始化
      数组是包含给定类型的一组数据,并将这些数据依次存储在连续的内存空间中,每个独立的数据被称为数组的素(element)。元素的类型可以是任意类型。 数组本身也是一个结构,其类型由它的元素类型延伸而来。更具体地数组的类型由元素的类型和数量所决定。如果一个数组的元素是 T 类型,那么该数组就称为“了数组"”。例如,说,果元素类型为 int,那么该数组的类型就是“int 数组”。然而,int 数组类型是不完整的类型,除非指定了数组元素的数量。如果一个 int 数组有 16 个元素,那么它就是一个完整的对象类型,即“16 个 int 元素数组”

1.什么是数组?

数组是相同数据类型元素的集合。
简单说,数组即就是在计算机内存中找一块连续的内存,在里面放相同类型的数据。
注意:
1.数组里放入的数据类型必须相同;
2.当数组创建后其长度就不可改变;

一维数组的定义和初始化
数组的定义决定了数组名、元素类型以及元素个数其语法如下:

<类型> 组名[<元素数量>];

元素数量在方括号 ([]) 之间,它必须是大于0 的整数常量表达式

2.数组的声明的两种方式:

1)int arr[数据长度];  常量(宏常量,常变量)
      int arr[SIZE]     //随机值
 2)int arr[10]={1,2,3,4,5,6,7,8,9,10 };
 3)int arr[10]={1};       存在1,0,0,0,0,0,0,0,0,0
     int arr[10]={};       存在10个0

4)int arr[]={1,2,3,4};      //自动推导数组元素个数

 

 

3. 数组名代表的含义:

     数组首元素的地址 &arr[0]  <=>  arr
     arr代表整个数组元素   ->数组定义处于同一个作用域 sizeof(arr)

   int arr[10] = { 0 };
     printf("%d\n", sizeof(arr));         40字节

     int arr[10]={0};
     sizeof(arr)  ->  数组总字节大小
     sizeof(arr[0])  ->元素类型所占字节数
     int len= sizeof(arr)/sizeof(arr[0])   ->数组元素总个数

 4.循环遍历数组元素

     for(int i=0;i<sizeof(arr)/sizeof(arr[0]);i++)
     {
          printf("%d\n",arr[i]);
     }

5.打印一个数组里面的元素 

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

void show(int *arr[10],int len)        //arr形参退化为指针(地址)
{ 
    for (int i = 0; i < len; i++)
    {
        printf("%-2d\n", arr[i]);
    }
}


int main()
{

    int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
    int len = sizeof(arr) / sizeof(arr[0]);
    show(arr, len);
   

    return 0;
} 

运行结果如下图:

 

 

示例1:在一个一维数组中,判断是否存在一个数

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

int main()
{
    //是否存在一个元素 ,键盘获取 
    int value, i=0;   // 变量的作用域;定义处生
    scanf("%d", &value);
    int arr[10] = { 1,2,3,4,5,6,0 };
    int len = sizeof(arr) / sizeof(arr[0]);
    for (int i = 0; i <len; i++)
    {
        if (arr[i] == value) {
            printf("存在\n");
            break;
        }
    }
    printf("不存在\n");

    if (i == len) {
        printf("不存在\n");
    }

    return 0;
}

示例二:给定一个整型数组{1,2,3,3,1,2,4,5,1},统计数字1的个数

 

int getcount(int* arr,int len,int value)
{
    int count = 0;
    for (int i = 0; i < len; i++)
    {
        if (arr[i] == value)
        {
            count++;
        }
    }
    return count;
}


int main()
{

    int arr[] = {1,2,3,3,1,2,4,5,1 };
    int len = sizeof(arr) / sizeof(arr[0]);
    int count = getcount(arr, len, 1);
    printf("%d\n", count);
    /*show(arr, len);*/
   

    return 0;
} 

运行结果如下:

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值