C语言------数组

本文介绍了C语言中数组的特点,包括一致性、有序性和连续性。接着详细讲解了一维数组的初始化,包括如何给数组赋予初值,以及数组长度的自动推断。此外,还讨论了数组长度的计算方法。最后,文章提到了排序算法,如冒泡排序和堆排,并简单提及了斐波那契数列和排序稳定性。
摘要由CSDN通过智能技术生成

一、数组的特点:

  • 一致性:同类型数据集合,定义的数组中所有的元素都是同样类型的;
  • 有序性:因为是线性的,所有元素都有严格的前后关系,不是指排过序的;
  • 连续性:指的是顺序存储关系,数组要求该数组中所有的数据元素存储空间是一块连续的存储空间。
# include <stdio.h>
# include <stdlib.h>
#include <time.h>
int main()
{
    srand(time(NULL));//在产生随机数之前将当前系统时间放进去,将当前系统时间作为初始值,注意包含头文件#include <time.h>
    int len=10;//const int len=10,也不能直接将len写入数组的方括号中,除非定义一个宏#define LEN 10.
    int a[10];//里面只能是常量或常量表达式,不能是小数,里面代表的是数组元素的个数,也可以是'a',必须指明数组大小,不能为负,最小是1。
    a[0]=1;
    for(int i=1;i<10;++i)
    {
       a[i]=rand()%6+1;//掷色子,需包含头文件#include <stdlib>
     }/*rand()标准C库提供的随机的整型数据,值是从0~32767的伪随机数(因为产生随机数后几次输出的数是一样的),计算机很难产生一个真正的随机数,因为计算机里没有产生随机数的硬件,计算机里的随机数是要通过特定的算法算出来的,这个算法他需要一个初始值*/
    return 0;
}

//下标(索引)index;基于0的。

下标可以是变量或是变量表达式,编译器对数组下标越界无能为力,因为下标为变量的时候,变量在编译期间值是可以变得,所以编译器对数组下标越界本身也是无能为力的。

二、一维数组初始化

初始化:在变量定义的同时赋予初值;

int a[10]={1,2,3,4,5,6,7,8,9,10}//挨个儿元素赋初值并用逗号隔开;

int a[10]={1,2,3,4,5};//如果只给数组部分元素初始化,则未被初始化的元素全为0(若为整型则为0,浮点型为0.0,字符型则为ASCⅡ码值为0的字符'\0'),即未初始化元素以位模式清零。

int a[]={1,2,3,4,5};//如果给数组所有元素初始化,则数组长度可以不写,编译器会自动根据初值个数来确定数组长度,如果数组长度大于初值个数则编译器报错,即可小于等于但不能大于。

int len=sizeof(X);//求后面括号里面的X(可以是变量名或是类型名也可以是表达式,但是该表达式一定要有类型)所占存储空间的大小࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值