栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言数组

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言数组

数组

  • 一维数组
  1. 定义

<类型关键字><数组名>[<常量表达式>];

  • <类型关键字>为已存在的一种数据类型。
  • <数组名>为用户定义的一个标识符。
  • <常量表达式>为一常量表达式(常量或符号常量数组的长度,元素个数)

注意:两边的中括号是语法所要求的符号;不是可选项而是用的符号。

例:① int a[20];  //定义了一个有20个元素的一维int型数组a。

② double b[MS];  //假定MS为已定义的整型常量

名字一致,类型一致,个数确定。

  1. 一维数组元素的访问

C语言规定:对于数值型数组,只能逐个引用数组中的元素,而不能一次引用(例如输入输出或赋值)整个数组全部元素的值。

访问格式:<数组名>[<下标>]    [ ]:为下标运算符

  • [<下标>]与变量定义中的不同,那里是数组元素个数,这里是某个元素。
  • 对于有n个元素的数组,下标依次为0,1,2,3,……,n-1,所以n个元素依次为:a[0],a[1],a[2],a[3],……,a[n-1]
  • 下标可以是常量,也可以是变量或表达式,但其值必须是整数。
  • 有下标可唯一确定某一元素,所以,数组元素又称为下标元素。
  • C对数组元素的下标值不做有效性检查。
  1. 一维数组的初始化
  • 在定义数组时,对数组元素赋予初值。

例如:int a[10]={0,1,2,3,4,5,6,7,8,9};

  • 可以只对一部分元素赋初值0

例如: int a[10]={0,1,2,3,4};

前五个元素由用户赋予了初值,后五个元素系统赋值为0

  • 若希望对所有元素赋初值0

例如:int a[10]={0};

第一个元素用户赋值为0,系统对后面9个元素赋值为0

  • 若对全部元素进行初始化,可以省略数组长度。

例如: int a[5]={1,2,3,4,5};可以写成 int a[ ]={1,2,3,4,5}

  1. 一维数组数据存储空间的分配
  • 定义一维数组后,系统分配一块连续的存储空间,空间大小为:n*sizeof(<元素类型>)
  • C中,数组名表示该数组存储空间的首地址。
  1. 一维数组的应用
  • 定义一个含有10个元素的整型数组分别给a[0]~a[9]赋值为0~9然后按逆序输出。
#include
int main()
{
	int i,a[10];
	for(i=0;i<=9;i++)
		a[i]=i;
	for(i=9;i>=0;i--)
	    printf("%d",a[i]);
	printf("n");
	return 0;
}
  • 输出斐波那契数列
#include
#define M 10
int main()
{
	int a[M+1],i;
	a[0]=1;
	a[1]=2;
	for(i=2;i<=M;++i)
	    a[i]=a[i-1]+a[i-2];
	for(i=0;i 
  • 选择排序
#include
int main()
{
	int i,j,k,x,n=10;
	int a[10]={4,6,8,7,3,1,2,5,9,10};
	for(i=1;i 
  • 直接插入排序
#include
int main()
{
	int i,j,k,x,n=10;
	int a[10]={4,6,8,7,3,1,2,5,9,10};
	for(i=1;i=0;j--)
		    if(x
  • 二维数组
  1. 定义格式:<类型关键字><数组名>[<常量表达式1>][<常量表达式2>]
  • <常量表达式1>,<常量表达式2>两边的括号也是语法要求。
  • <常量表达式1>为第一维元素个数(行),

<常量表达式2>为第二维元素个数(列);

元素总个数=<常量表达式1>*<常量表达式2>

  1. 二维数组元素的访问格式

<数组名>[<行下标>][<列下标>]

  • [ ]与变量定义语句中的不同
  • 下标可以是常量,也可以是变量或表达式,但其值必须是整数。
  • 二维数组元素又称为双下标变量
  • c对数组元素的下标值不做有效性检查
  1. 二维数组的初始化
  • 定义二维数组的同时为数组元素赋值
  • 分行给二维数组赋初值
  • 可以把所有数据写在一个花括号内
  • 可以对部分元素赋初值
  • 全部元素赋初值为0
  1. 二维数组数组存储单元的分配
  • 定义二维数组后,系统分配一块连续的存储空间,该存储空间大小为m*n*sizeof(<元素类型>),m和n分别为一维和二维的下标个数。

给二维数组元素分配存储空间时,行优先

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/850064.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号