C语言 有关数组的知识

数组:

什么是数组:数组就相同类型变量的组合,它是一种指定义变量的方法。
一维数组:把变量排成一排。
	定义:类型 数组名[数量]:
		int arr[5]; // 数字表示的是变量的数量
		int num1,num2,num3,num4,num5;
		注意:数组定义后,默认值不确定。
	使用:数组名+编号(下标)
		arr[0],arr[1],arr[2],arr[3],arr[4] // 数字表示编号
		注意:数组的编号从零开始,0~数量-1
	遍历:使用for循环配合,使用循环变量当做数组的下标。
	初始化:类型 数组名[数量] = {v1,v2,v3,v4};
		1、如果初始化数据超过数组的长度,多余的值会被忽略,而且会有警告产生。
		2、如果初始化数据不够,则补零。
		3、空的大括号表示数组全部初始化零。
		4、当对数组进行初始化,数组的长度可以忽略,编译器会计算数据的个数和,
		然后再告诉数组。
		sizeof(arr)/sizeof(arr[0]);

二维数组:把变量排成一个方阵。

	定义:类型 数组名[行数][列数];
		int arr[3][4];
		[][][][]
		[][][][]
		[][][][]
	使用:数组名[行编号][列编号];
		[0][0],[0][1],[0][2],[0][3]
		[1][0],[1][1],[1][2],[1][3]
		[2][0],[2][1],[2][2],[2][3]
	遍历:使用双层for循环配合,外层循环负责遍历行,内层循环负责遍历列。
	初始化:类型 数组名[行数][列数] = {{v1,v2,v3,v4},{v1,v2,v3,v4},{v1,v2,v3,v4}};

变长数组:

	定长数组:数组长度在编译时就已经确定了。
	
	变长数组:数组长度在编译时不确定,程序运行期间可根据实际情况变长,
	但执行数组定义语句时,就确定下来不能再变。
	
	优点:可以根据实际情况确定数组的长度,节约内存。
	
	缺点:不能初始化。

数组的越界:

编译器不会检查数组的下标(不能检查,也不愿意检查),
因此使用数组越界可以越界(不会有语法错误)。
数组越界的后果:
	1、一切正常。
	2、脏数组。

例子:

#include <stdio.h>

int main()
{
int arr[10],i;
printf("开始初始化数组...\n");
for(i=0; i<=10; i++)
{
	arr[i] = 0;
	printf("------------%d\n",i);
}
printf("初始化数组结束!\n");
}

//数组长度为10 超过十个以后将0赋给i
//无限循环

3、段错误(核心已转储)

	非法访问内存时被操作知道了。
内容概要:本文档详细介绍了Analog Devices公司生产的AD8436真均方根-直流(RMS-to-DC)转换器的技术细节及其应用场景。AD8436由三个独立模块构成:轨到轨FET输入放大器、高动态范围均方根计算内核精密轨到轨输出放大器。该器件不仅体积小巧、功耗低,而且具有广泛的输入电压范围快速响应特性。文档涵盖了AD8436的工作原理、配置选项、外部组件选择(如电容)、增益调节、单电源供电、电流互感器配置、接地故障检测、三相电源监测等方面的内容。此外,还特别强调了PCB设计注意事项误差源分析,旨在帮助工程师更好地理解应用这款高性能的RMS-DC转换器。 适合人群:从事模拟电路设计的专业工程师技术人员,尤其是那些需要精确测量交流电信号均方根值的应用开发者。 使用场景及目标:①用于工业自动化、医疗设备、电力监控等领域,实现对交流电压或电流的精准测量;②适用于手持式数字万用表及其他便携式仪器仪表,提供高效的单电源解决方案;③在电流互感器配置中,用于检测微小的电流变化,保障电气安全;④应用于三相电力系统监控,优化建立时间转换精度。 其他说明:为了确保最佳性能,文档推荐使用高质量的电容器件,并给出了详细的PCB布局指导。同时提醒用户关注电介质吸收泄漏电流等因素对测量准确性的影响。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值