设为首页 收藏本站
开启辅助访问 快捷导航
菜单
猿人部落 主页 资讯 查看内容

小白学C语言 数组篇

2019-7-26 18:07 发布者: jltx591549gx 评论 0 查看 1090
数组 一次性声明多个同范例的变量 (1)声明 界说 数组 数据范例 数组名[数组长度]; 声明界说一个数组,且相称于声明白

数组
一次性声明多个同范例的变量
(1)声明 界说 数组
数据范例 数组名[数组长度];
声明界说一个数组,且相称于声明白 数组长度 个同范例变量
int scores[10];
scores[0] scores[1] scores[2] … scores[9] 这10个int范例变量

通过数组声明的变量同名,为了区分这些变量须要通过下标来访问这些变量
访问数组元素:
数组名[下标];
下标:
从0开始到数组长度减1

		!!!留意:下标是从0开始,且最大值不能取到数组长度
			数组下标不能越界
			数组越界访问大概造成逻辑错误 也可以访问错误的数组
			最严峻的结果是步调瓦解
		下标是从0开始且一连,以是很多时间都会结果循环使用
	
	输入10个整数,逆序输出这10个整数

(2) 数组初始化
数组范例 数组名[数组长度];
数组元素全部都是随机值(垃圾值)

数据范例 数组名[数组长度] = {元素,…}; 情势举行初始化

	(i) 数组长度 和 元素个数恰好相称
		int arr[5] = {1,2,3,4,5};	
	(ii) 元素个数 多于 数组长度   编译有告诫
		int brr[5] = {1,2,3,4,5,6,7,8}
	(iii) 元素个数 小于 数组长度    背面初始化为0
		int crr[5] = {1,2};
		数据范例 数组名[数组长度] = {"零"};
	(iv) 元素个数为0  但是有 {} 
		全部初始化为0   不发起使用
	
	(v) 不指定命组长度   必须举行初始化  数组长度由初始化元素的个数决定
		int err[] = {元素,...};
	
	(o) 指定初始化  没有指定的元素初始化为0
		int frr[10] = {[2]=1,[5]=2,[9]=10};

(3)数组的使用
当数组界说之后 不可以直接使用数组举行访问数组元素 大概 对数组元素举行赋值操纵 只能通过下标
每一个下标对应一个元素
留意不能直接对数组名 举行 团体赋值操纵 !!!!
!!!!数组名是右值

	int i=0;
	for(i=0;i<数组长度;i++){
		数组名[i];
	}

可变长数组

	数据范例 数组名[变量];
	int n = 0;
	scanf("%d",&n);
	int arr[n];
	留意: 可变长数组不能直接初始化  不能 = {}这种情势初始化
	必须用循环的情势举行初始化
	for(i=0;i

一维数组

二维数组
(1)声明界说
数据范例 数组名[二维长度][一维长度];
相称于统共声明白 f二维长度*一维长度 个变量
int arr[4,7];//错误的
int arr[4][7];

(2)二维数组元素
下标确定唯一元素
须要两个维度的下标 下标的取值 都是从0开始到数组长度-1

	int arr[4][7];
	arr[0-3][0-6]

(3)二维数组初始化
数据范例 数组名[二维长度][一维长度]; 数组里的元素都是随机值(垃圾值)

	(i) 
	={{1,2,3},{4,5,6},{7,8,9},...}  
	={{1,2,3}}
	={{0}}
	={0}
	={1,2,3,....}
	={[i][j]=x,...}

遍历数组元素

	int i=0,j=0;
	for(i=0;i<二维数组长度;i++){
		for(j=0;j<一维数组长度;j++){
			arr[i][j];
		}
	}

sizeof
sizeof(数组名) 求得数据所占内存巨细 单位字节
sizeof(数组名)/sizeof(数组名[0]) 求得数组长度

二维数组
sizeof(数组名)/sizeof(数组名[0])   二维数组二维的长度(行)
sizeof(数组名[0])/sizeof(数组名[0][0])  二维数组中的一维长度(列)


路过

雷人

握手

鲜花

鸡蛋
收藏 邀请
上一篇:Mysql 之日志架构下一篇:音视频码率的计算

相关阅读

一周热门

头条攻略!

日排行榜

相关分类