【C语言笔记】第四章 数组

第四章 数组

    • 4.1普通一维数组
      • 一、定义
      • 二、优缺点
      • 三、定义格式
      • 四、初始化
    • 4.2字符数组和字符串
      • 一、定义和初始化
      • 二、相关函数

4.1普通一维数组

一、定义

1.数组是一组有序数据的集合,数组中和数据的排列是有一定规律的,下标代表数据在数组中的序号。
2.用一个数组名(如s)和下标来唯一地确定数组中的元素,如s15代表第十五个数据。
3.数组中的每一个元素都属于同一个数据类型,不能把不同类型的数据放在同一个数组中。

二、优缺点

优点:方便访问数组中的第i个元素。
缺点:插入和删除的时间复杂度较高。

  • 数组的优点是相对链表而言的,链表会出现在后续的笔记中,时间复杂度也是。
  • 在数据结构中,数组是一种线性表,这是一种最简单的数据结构,链表也是一种线性表。
  • 链表的优点是插入和删除的时间复杂度较低,但访问其中元素较麻烦。

三、定义格式

类型符 数组名[常量表达式];
在除主函数外的其他函数中定义数组,其长度可以是变量或者非常量表达式,在未对其中数据赋值时,数组中数据为随机值。

四、初始化

1.在定义数组时对全部数组元素赋予初值

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

此时由于数组内元素个数已经确定,定义时可以不指定数组长度。

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

2.可以只给数组中的一部分元素赋值

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

此时,任何未被赋初值的元素都将被赋值为0。

4.2字符数组和字符串

一、定义和初始化

字符用’’标记,字符串用””标记,字符串在C语言中是以字符数组的形式存储的。字符数组定义和使用的方式与整型数组相同。不同点在于,C系统在用字符数组存储字符串常量时会自动加一个’\0’作为结束符。

二、相关函数

函数名 格式 功能
gets gets(str) 输入一个字符串
puts puts(str) 输出一个字符串
starcat strcat(str1,str2) 把str2连接在str1后面,存储在str1中,返回值是str1的地址
strcpy strcpy(str1,str2) 把str2复制到str1中,str1应该足够大
strcmp strcmp(str1,str2) 如果str1>str2,返回正数,str1
strlen strlen(str) 返回不包括\0在内的字符串长度
strwr strwr(str) 把字符串转换为小写
strupr strupr 把字符串转换为大写

参考资料:
[M]谭浩强.C程序设计.清华大学出版社,2017

你可能感兴趣的:(C语言,程序)