黑马程序员——C语言基础学习(四)---数组和指针的总结学习

指针和数组的总结学习
摘要由CSDN通过智能技术生成


------  <a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a> 期待与您交流! -------



                  数组和指针的总结学习


.数组

 

  

  1.数组的基本概念

把具有相同类型的若干变量按有序的形式组织起

来.这些按序排列的同类数据元素的集合成为数组.

 

  

  2.数组的几个名词

1)数组:一组具有相同数据类型的数据的有序的集合

2)数组元素:构成数组的数据。数组中的每一个数组元素具有相同

  名称,不同的下标,可以作为单个变量使用,所以也称为下标变量。

3)数组的下标:是数组元素的位置的一个索引或指示。

4)数组的维数:数组元素下标的个数。

  根据数组的维数可以将数组分为一维、二维、 三维、多维数组。 

 

  3.数组分类

(1)按数组元素的类型不同,数组可分为:

数值数组:用来存储数值的

字符数组:用来存储字符 ‘a’

指针数组:用来存放指针(地址)的

结构数组:用来存放一个结构体类型的数据

(2)按维度分类

  一维数组

  二维数组

  多维数组

  

  4.一维数组定义及注意事项

(1)一维数组介绍

如果一个数组的元素不是数组,那么就是一维数组

(2)一维数组的定义

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

(3)数组定义的注意点

1) 数组的类型实际上是指数组元素的取值类型。对于同一个数组,其所有元素

   的数据类型都是相同的。第一个数组元素的地址是数组所占内存块的首地址.

2) 数组名的书写规则应符合标识符的书写规定。 

命名规则

1、只能由字母、数字、下划线组成

2、不能数字开头 

3、不能与关键字重名 

4、严格区分大小写

命名规范: 

1、起一个有意义名字

2、驼峰标示

3) 数组名不能与其它变量名相同。

4) 方括号中常量表达式表示数组元素的个数,如a[5]表示数组a有5个元素。但是

   其下标从0 开始 计算。因此5个元素分别为a[0], a[1], a[2], a[3], a[4]

5) 不能在方括号中用变量来表示元素的个数,但是可以是符号常数或

   量表达式。c99不支持使用变量作为元素个数,llVM编译器,它支持

6) 允许在同一个类型说明中,说明多个数组和多个变量。 

  

  5.一维数组初始化

(1)一维数组的初始化数组初始化赋值是指在数组定义时给数组元素赋予初值。数组初始化是在编译阶

   进行的.这样将减少运行时间,提高效率。初始化方式有两种:定义的同时初始化、先定义,后初始化

(2)定义的同时初始化

类型说明符 数组名[常量表达式] = { 值, 值......值 };

又细分以下几种情况:

1)指定元素的个数的同时,对所有的元素进行显式的初始化 

  int nums[5]= {1,2,3,4,5};

2)指定数组的元素个数,对数组进行部分显式初始化定义的同时对数组

  进行初始化,没有显式初始化的元素,那么系统会自动将其初始化为0

  int nums[10] = {1,2};

3)不指定元素个数,定义的同时初始化,它是根据大括号中的元素的个数来确定数组的元素个数

  int nums[] ={1,2,3,5,6};

4)指定元素个数,同时给指定元素进行初始化

  int nums[5] = {[4] = 3,[1] = 2};

注:给数组赋值的方法除了用赋值语句对数组元素逐个

   赋值外,还可采用初始化赋值和动态赋值的方法

(3)先定义,后初始化

正确写法:

int nums[3];

nums[0] = 1; nums[1]= 2; nums[2] = 3;

错误写法:

int nums[3];

nums ={1,2,3}; // 因为数组名是一个常量,是数组的首地址,所以不能这样赋值. 


  6.一维数组的引用方式

数组元素访问一般形式:

数组名[下标]

数组元素通常也称为下标变量,必须先定义数组,才能使用下标变量. 


  7.一维数组的存储方式

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值