嵌入式07——数组

一、数组
      一组相同类型的数据的集合

int score1; 
int score2;
int score3;
int scoreN; //40

一次性定义多个变量?    //本质上是 相同类型变量的集合 

分为:
一维数组
二维数组 
整型 
字符型 
---------------------
语法: //定义一个数组 
类型说明符 数组名[常量表达式];
   
(1).类型说明符 
    整型 int,short,long ,long long 
    浮点  float double
    字符  char       这些都是基本数据类型   
(2).数组名 
    代表着 数据集合 (内存空间的一个名字) 
    数据类型角度 
    1. a代表整个数组类型 
    2. a代表一个值 --数组首元素的地址 
(3).[ ]  //表示此时定义的是一个 数组 
(4).常量表达式 
    表示数组的长度 --- 变量的个数 
eg:

int array[5]; //定义一个数组,这个数组放了5个 int型变量 
int array[40]; 

数组本身也是一种数据类型 
类型:
   常量
   变量

变量的定义:
数据类型 变量名;  
   
int a = 10; //a int型 

int a[10]; //a所代表的类型 是 int[10]  
int  [10] a; //a所代表的类型 int[10] 
                //a数组名 标识符 
                //a ---把名字去掉 ,剩下的就是名字对应的数据类型 
           
int a[10]; //数组在内存空间上的特点 

//数组的给值 
//初始化 
//赋值 

int a[10] = {1,2,3,4,5,6,7,8,9,10}; //{} //表示初始化 --初始化器  
                                                    //全部初始化             
数组元素的访问 

语法:
a[下标]; //0 开始的 
             //1       
数组下标:
   本质上是 偏移量  
   
数组的特点:
1.连续性 --一片连续空间 
2.有序性 --元素依次存储 
3.单一性 --单一类型的元素


a[i] //下标运算 ---本质 实际是一个地址的运算 
下标本质上一个偏移量  
    a[0] 
    a[1]
    a[i]
    a[i]<=>i[a] // 意思一样
数组的越界问题:
1.不是语法问题 --- 编译器不报错 
2.程序员 自己小心 
a[-5]


总结:
1.数组概念 
  数组 一组相同类型数据(变量)的集合
2.语法
  数据类型 数组名[数组长度]; 
3.定义
 int a[10];
 
 连续性
 有序性
 单一性

4.注意
 a.数组名 
   代表的数据类型 --数组类型 int a[10]; //a所代表的类型为int[10] //数组类型 
   代表的值      --数组首元素的地址   // &a[0]
   
 b.数组长度 与 下标 
   数组长度 --表示几个元素(变量)
   下标 --偏移量 
         [0~数组长度-1]
   int a[10];
   [0~9]

5.数组的初始化 
int a[10] = {1,2,3,4,5,6,7,8,9,10}; //全部初始化 
int a[10] = {1,2,3,4,5};  //部分初始化--依次给到数组元素 ,没有给值的元素,默认初始化为0
将数组初始化为0 
int a[10] = {}; //都初始化为0
int a[10] = {0}; //都初始化为0 
数组不初始化 ---数组中为垃圾值 


6.数组长度可以省略 
  有前提 --必须要有初始化的值 
  int a[] = {1,2,3}; //编译器会通过值来计算机 数组长度 
  
  数组的赋值? //整体赋值?
注意:  
  数组赋值
  不能整体赋值 
  数组赋值,需要一个元素一个元素个给到      

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值