C语言第四节 数组

1、数组含义

· 数组在C语言阶段是一种聚合变量,可以存放一组数据,不同于其他变量(标量),我们也可以把数组认定为一种构造数据类型(系统内没有给定的类型);

    · C语言聚合变量只有 数组  结构体 ,但是C语言阶段的构造类型除了 数组和结构体 外,我们还学过枚举;

     · 数组是一种保存 形同数据类型 元素的容器;

     · 定义一个数组的语法格式:类型修饰符(元素数据类型)数组名[常量表达式(数组容量)]={初值1,初值2,...初值n};

     · int 代表的是数组中每一个元素的数据类型;

     · 数组的类型int[5],代表ageArray里面存放了五个整形元素;

 

2、数组的使用

    · 访问数组的方式为:数组名 + [下表] 访问;

    · 如果初值的个数小于数组容量,空缺元素默认为0;

    · 数组可以不给定初值,默认全部为0,这是常用的数组定义方式;

    · 数组定义时可以不给定容量,只给初值,系统通过初值个数确定数组容量;

    · 数组定义时,一定要确定数组容量!!!

 

3、数组的越界问题

 /* 1、数组不能越界访问,下标越界,初值个数大于容量都会出现越界;

      2、数组下表从 0 开始,到数组容量 - 1

      3、数组不能直接参与运算,不能直接赋值; */

//数组和for循环通常一起出现,因为for循环的次数可以是数组容量,这样循环之后,我们可以获取数组中的所有元素,进行赋值活取值;

 

4、冒泡排序

/* · 使⽤用数组时,很多时候需要将数组中的元素按照一定条件进行排序;

      · 冒泡排序是⽐较常见的排序算法;

      · 因为其原理跟水底气泡上升⾄至⽔水⾯面 很相似⽽而得名;

      · 冒泡排序涉及到双循环,外层循环控制趟数,内层循环控制⽐较次数;  

冒泡排序原理:比较无序数列相邻两个数的大小,如果前面的大于后面的,交换两 个数的位置,通过一趟趟的比较,形成一个有序数列,其中每一趟的比较,都能得到这一趟比较的所有数中最大的那个数,放在序列的最后面;

 */

 

5、字符数组和字符串

 · 用于存放字符变量的数组称为字符数组;

 · 字符数组属于一维数组,定义⽅方式与普通一维数组相似,只是数据的类型是char;;  

 · 有’’结束标识的字符数组也称为字符串;

 · 字符串数组以 '' 结尾,''也是一个字符,他是字符串的结尾标志;

 · 所以字符串所占空间要比字符数组占用大 1;

关于字符数组的函数:

strlen() 计算字符串长度

     strcpy() 字符串拷贝

     strcat() 字符串拼接

     strcmp() 字符串⽐较

 

6、宏定义

  宏定义的注意事项:

1、全部以大写字母命名,单词与单词之间以下划线隔开;

2、k开头,后面的采用驼峰法命名;

3、宏只做替换,不做运算。

 

原文地址:https://www.cnblogs.com/hyl2012/p/5212786.html